This.Controls marche po :(

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 23 janv. 2006 à 16:46
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 7 juin 2006 à 18:39
Salut !!
j'ai dans une page 10 FileUpload !! alors je veux faire une boucle du type
for (int i = 0 ; i != this.Controls.Count;i++)
{if(this.Controls[i] Is FileUplad
{
..
}
}
mais je vois que le count est toujours = 1 !! est-ce-que c'est parceque les fileupload sont dansun masterpage ou bien dans un tableau ?? sinon comment je pourrai boucler sur les controls ??? j'ai vu une réponse dans ce forum mais malheureusement c'est en vb et ca m'a pas appris bcp de choses parcke le problème était dans les sous controls d'un sous controls.

Merci !!!

YaoYao !!
1 + 1 = 10

3 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
23 janv. 2006 à 21:58
salut,

je suis pas trop sûr mais il me semble que:
for (int i = 0 ; i != this.Controls.Count;i++)
> pour(i0 ; jusqu'à ce que i soit différent de this.Controls.Count; ajouter 1 à i)

=> or si i = 0 il est différent de this.Controls.Count..
non ?

essaye
for (int i = 0 ; i <= this.Controls.Count;i++)

ou
for (int i = 0 ; i < this.Controls.Count;i++)

yopyop
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
23 janv. 2006 à 22:14
Mais non je suis sure a 100% de la boucle !! je suis comeme un bon programmeur c# !! je suis csharpien depuis vs 2002 et un vbstien depuis que j'ai fété mes 8 ans looooooool !!! mais seulement je pense que faut faire this.Page.Controls ou qlq chose comme ca!!

Merci comeme !!!

YaoYao !!
1 + 1 = 10
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
7 juin 2006 à 18:39
bon je sais que ca fait lontemp que tu a poser ta question mais bon
Je viens de trouver la solution alors voila :

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

Voila l'idé apres c'est a adapter a tes besoins
 Le problème est que dans la page ASP.NET il y a 3 control dont 1 des 3 contient tous les controls de ta pages que tu a déclaré

Sinon ta aussi la fonction FindControl...bon je vais faire un code ca ira plus vite

Enjoy
0
Rejoignez-nous