Recuperer des controls TextBox qui ont ete crees dynamiquement [Résolu]

Signaler
Messages postés
38
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
-
Messages postés
38
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonjour

   Je suis en train de realiser une appli en c# qui permet de creer des questionnaireset de les faire remplir par des utilisateurs.
Pour afficher ces questionnaires, je cree dynamiquement des objets TextBox dans lesquels les utilisateurs saisiront les reponses aux questions.
   Cependant, j'ai un probleme, les controls que j'ai cree dynamiquement n'existent pas dans ma Form. Je comprends que les controls que j'ai ajoute avec Form.Controls.Add n'existent que dans la methode qui cree le TextBox.
   Comment faut-il s'y prendre pour que ces controls aient une existence en dehors de la methode ?

Cedric

2 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut,

Utilise un PlaceHolder ! Il est fait pour ça...
Et tu fais MonPlaceHolder.Controls.Add(...) dans le Page_Init ou plus tôt dans le cycle de chargement de la page.
Evidemment, si tu veux pouvoir accéder à tes TextBox lors d'un PostBack (clique sur un bouton, etc...), elles doivent être recréées aussi au PostBack (pas uniquement lors du premier chargement de la page en gros).

Ensuite tu peux trouver un control particulier en faisant MonPlaceHolder.FindControl() ou les parcourir tous en faisant un For Each sur MonPlaceHolder.Controls...

A++

<hr width="100%" size="2" />Nurgle (Antoine) - MSP
Messages postés
38
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008

Merci
   J'ai mis tous mes controls dynamiques dans le PlaceHolder, je cree ces controls a partir du Page_Init et j'arrive a tout recuperer. c'est super, merci

Cedric