Liste des controls d'une page

Résolu
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 7 juin 2006 à 17:00
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 8 juin 2006 à 10:17
Bonjour

Je viens de poser la question sur CsharpFr qui a trouvé une demi solution...
http://www.csharpfr.com/forum.v2.aspx?ID=754843
Maintenant il ne reste plus qu'à la traduire en ASP.NET

Je cherche à lister tout les controles d'une page pour acceder à tous les labels et button pour leurs assigner une valeur (disons que j'en est beaucoup et que j'ai pas envie de me les tapé un par un....

Si quelqu'un a une solution....
Ca serai du genre :
 public class Test1 : System.Web.UI.Page
 {
    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;

  private void Page_Load(object sender, System.EventArgs e)
   {
      String indice = "";
      foreach (Control ctrl in this.Controls)
      {
        if (ctrl.Name.Substring(0, 5) == "Label")
        {
          indice = ctrl.Name.Substring(5);
          ctrl.Text = "Je m'appelle Label" + indice;
        }
      }
    }
}

Mais ca ne marche pas en ASP.NET.... je n'est pas la methode Name.......;

Merci d'avance

1 réponse

Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
8 juin 2006 à 10:17
Bon jai encore trouvé... voici la solution

      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)crtll).ID + " detected (" + ((Label)crtll).GetType().ToString() + ") ";
            if (crtll is Button) Label3.Text+="Button detected (" + k.ToString() + ") ";
            k++;
          }
        }
        j++;
      }

Voila en espérant que ca serve
3
Rejoignez-nous