Lister tous les controls d'une page

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 203 fois - Téléchargée 26 fois

Contenu du snippet

Voila un bout de code qui permet de lister tous les controls d'un System.Web.UI.Page

Le but étant de rechercher tous les Label et Button pour une futur initialisation mais cela marche pareil pour les autres types de controls
Oublier pas de Caster.
Aparemment d'apres ce que j'ai trouvé, la Page contient 3 Controls dont un des 3 contients tout les controls alloués sur la page.

Source / Exemple :


protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.Label Label3;
    protected System.Web.UI.WebControls.Label Label4;
    protected System.Web.UI.WebControls.Button Button2;
    protected System.Web.UI.WebControls.Button Button3;
    protected System.Web.UI.WebControls.Button Button4;
    protected System.Web.UI.WebControls.Button Button1;
...

      int j=0,k=0;
      foreach(Control crtl in this.Controls)
      {
        if (crtl.HasControls())
        {
          foreach(Control crtll in crtl.Controls)
          {
            if (crtll is Label) Label4.Text+="Label detected (" + k.ToString() + ") ";
            if (crtll is Button) Label3.Text+="Button detected (" + k.ToString() + ") ";
            k++;
          }
        }
        j++;
      }

Conclusion :


Questions...Réflexions...Fautes...Utilisations...n'hésité pas!!!

A voir également

Ajouter un commentaire

Commentaires

mauriciux
Messages postés
1
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
8 janvier 2008

excelente...
TOTOCHITO
Messages postés
63
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
16 novembre 2007

merci pour ta reponse je n'ai pas essayé mais je te tiens au courant.
gldfdp
Messages postés
91
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
21 février 2008

>Essaie un truc du genre:
if (Request.QueryString["tavaleur"]==lavaleur)
((letypedecontrole)TonConteneur.FindControl("toncontroleacacher")).Visible=false;
TOTOCHITO
Messages postés
63
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
16 novembre 2007

je débute en asp.net

Comment ça se passe dans un controle conteneur tel qu'un datalist ou formview.
J'ai essayé d'acceder a des controles serveurs (label runat=server ) mais je n'y arrive pas.
En fait je souhaiterais rendre invisible ou visible des labels en fonction de valeurs récupérées avec request.querystring("mavaleur").
le fils de dieu doit pouvoir m'éclairer(si c'est le fils de dieu il doit pouvoir non !!!).
cs_poppyto
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Même chose que le fils de Dieu Online ;o), quoiqu'il y a sûrement une utilité sinon Coolpix08 n'aurait jamais codé ça hein ?

" Questions...Réflexions...Fautes...Utilisations...n'hésité pas!!! "

Fautes !! ! !!!!!!!

>>>>n'hésitEZ
>>>>OublieZ pas de caster.
(t'as du mal avec la deuxième personne du pluriel ;) !)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.