FindControl renvoi toujours null

yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 9 juil. 2009 à 16:53
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 10 juil. 2009 à 12:01
Salut à tous

Je crée des controls dynamiquement dans ma page lors du Page_Load que j'ajoute dans un PlaceHolder

MyPlaceHolder.Controls.Add(

new
LiteralControl(
""));

Tout fonctionne parfaitement bien. Par contre orsque je fais un FindControl je ne trouve pas les checkbox que j'ai créé
HtmlInputCheckBox

chkAllCodes = (
HtmlInputCheckBox)MyPlaceHolder.FindControl(
"Codes");

Cela me renvoi toujours null alors que les controls sont bien créés.

Merci de votre aide

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
9 juil. 2009 à 22:40
Salut,

Il ne faut pas creer les controles serveurs de manieres dynamiques dans le code behind.
car le cycle de création de la page n'est pas respecté

Il faut creer un htmlinputcheckbox mais je garanti rien.

Car comment le moteur dotnet va devinér que checkbox-->htmlinoputchackbox à la compilation.
Le controle literal c'est de la recopie simple sans interprétation du code dans le code généré tu auras runat=server dans les attribiuts.

Bon dev.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 juil. 2009 à 23:03
Bonsoir,

et pourquoi ne pas simplement utiliser un Checkbox plutot qu'un htmlinputcheckbox ?

Dans tous les cas, les controles dynamiques, c'est mal et dans la majorité des cas inutiles.

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 juil. 2009 à 11:09
merci pour vos réponses

je crée mes controls dynamiquement car ils correspondent à des listes d'éléments stockés en base SQL et donc cela change en fonction de la demande.

J'utilise un htmlinputcheckbox car j'ai une checkbox qui permet à l'aide d'un javascript de selectionner ou deselectionner toute les checkbox qui porte le meme nom.
Chose que je n'ai pas réussi à faire avec une CheckBox asp.

Si vous pouviez m'aider à faire les même choses avec des checkbox asp je suis preneur

Merci
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 juil. 2009 à 11:25
Si tu as une liste tu peux utiliser un repeater ... c'est tellement plus simple que les bidouilles de controles dynamiques.

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 juil. 2009 à 12:01
merci je vais essayer avec un repeater.

mais comment faire un "checkall" en javascript si mes checkbox ne porte pas le même nom??

je ne peux pas faire un "checkall" sur tous les controles checkbox car il ya d'autre checkbox qui ne correpondent pas à ma liste
0
Rejoignez-nous