2017-06-13 6 views
0

Existe-t-il un moyen de vérifier tous les linkbuttons ayant une valeur CommandArgument spécifiée et de les masquer/les afficher dans vb.net?Masquer tous les linkbuttons avec CommandArguement = "value"

ex:

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

Dans vb.net Je veux faire ce qui suit [ci-dessous est juste le texte de ce que je veux]

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

Mise à jour:

J'ai essayé Construire quelque chose comme ça, mais c.CommandArgument ne fonctionne pas. J'ai fait un cast sur un linkbutton et j'ai récupéré le CommandArgument mais c'était après avoir cliqué sur le bouton linkbutton et l'avoir retourné, ce qui n'est pas le même scénario que ce que j'essaye d'accomplir.

Tentative:

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 

Exemple de code qui fonctionne si je clique dessus

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

Voulez-vous obtenir la valeur CommandArgument pour tout autre but, ou vous essayez simplement de cacher une liste spécifiée de contrôles par leur CommandArgument? On dirait un bon candidat pour CSS/jQuery, mais peut-être que je me méprends sur votre objectif. Vous voulez que cela se produise au chargement de la page? – mjw

+0

J'ai un code qui cache/montre Linkbuttons. Ils doivent être cachés si l'utilisateur connecté ne répond pas à mes critères. J'ai CommandArguements qui les sépare les uns des autres et veulent donc cacher en utilisant vb.net basé sur les CommandArguements. @mjw – narue1992

+0

fyi: J'ai utilisé les critères commandArguement pour d'autres parties de l'application, donc j'espérais continuer à utiliser ces valeurs pour les afficher/masquer aussi – narue1992

Répondre

0

Vous avez manqué la déclaration 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