2017-06-13 63 views
0

有没有办法检查所有具有指定CommandArgument值的链接按钮并在vb.net中隐藏/显示它们?使用CommandArguement =“value”隐藏所有链接按钮

例如:

<asp:LinkButton ID="LinkButton3" runat="server" class="thumbnail" style="text-align:center;" OnClick="display" CommandArgument="App1"/> 
<asp:LinkButton ID="LinkButton4" runat="server" class="thumbnail" style="text-align:center;" OnClick="display" CommandArgument="App2"/> 
<asp:LinkButton ID="LinkButton5" runat="server" class="thumbnail" style="text-align:center;" OnClick="display" CommandArgument="App1"/> 

在vb.net我想做到以下几点[以下是我想要的只是文字]

for each [Link buttons where CommandArguement = "App1" ] 
    Linkbutton[].Visible = false 
next 

更新:

我试着建立这样的事情,但c.CommandArgument不起作用。 我已经在linkbutton上进行了强制转换,并从中获得了CommandArgument,但是在点击linkbutton并返回后,它与我正在尝试完成的场景不同。

尝试:

Dim controlId As String = "" 
    Dim cControl As Control 

    For Each c As Control In cControl.Controls 
     If TypeOf c Is LinkButton Then 
      'Or whatever that is you checking for 
      If c.commandArgument = "App1" Then 

      End If 

     End If 
    Next 

的代码示例,如果我点击它

Dim btn As LinkButton = DirectCast(sender, LinkButton) 
Dim yourValue As String = btn.CommandArgument 
+0

做的作品其他目的,或者你只是想通过他们的CommandArgument来隐藏指定的控件列表?看起来像CSS/jQuery的好候选人,但也许我误解了你的目标。你想要在页面加载时发生这种情况? – mjw

+0

我有隐藏/显示Linkbuttons的代码。如果登录的用户不符合我的标准,他们需要隐藏。我有CommandArguements将它们彼此分开,因此想要使用基于CommandArguements的vb.net进行隐藏。 @mjw – narue1992

+0

fyi:我对应用程序的其他部分使用了commandArgumentment标准,所以我希望继续使用这些值来显示/隐藏它们 – narue1992

回答

0

错过了BTN声明你想要得到任何的CommandArgument值

Dim c2 As Control 
    For Each c2 In pnl1.Controls 
     If TypeOf c2 Is LinkButton Then 

      Dim btn As LinkButton = c2 
      Dim val As String = btn.CommandArgument 

      If val.Contains("App1") Then 

      End If 
     End If 

    Next