2017-06-13 1 views
0

指定されたCommandArgument値を持ち、vb.netで非表示にするすべてのリンクボタンをチェックする方法はありますか?CommandArguement = "値"を持つすべてのリンクボタンを非表示

例:私は、次のやりたいvb.netで

<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"/> 

[以下は、私が何をしたいのテキストだけである]

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

更新:

私が試しましたこのようなものを構築しますが、c.CommandArgumentは機能しません。 私はリンクボタンのキャストを行って、それからCommandArgumentを取得しましたが、それはリンクボタンをクリックして戻って、私が達成しようとしているものと同じシナリオではないものでした。

試み:私はそれをクリックした場合

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

を逃した作品コードの

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 

例CommandArgumentで指定されたコントロールのリストを隠そうとしているだけですか? CSS/jQueryの良い候補者のようだが、おそらく私はあなたの目標を誤解している。これはページの読み込み時に発生しますか? – mjw

+0

私はLinkbuttonsを隠す/表示するコードを持っています。ログインしたユーザーが自分の基準を満たしていない場合は、それらを非表示にする必要があります。私はそれらを互いに分けるCommandArguementsを持っているので、CommandArgementsに基づいてvb.netを使って非表示にしたい。 @mjw – narue1992

+0

fyi:アプリケーションの他の部分にcommandArgement基準を使用しましたので、それらの値を表示/非表示に使い続けることを期待していました – narue1992

答えて

0

あなたが任意のためのCommandArgument値を取得しますかBTN宣言

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 
関連する問題