2017-06-13 44 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