FindControl renvoi toujours null

Signaler
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
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
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
3
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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
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
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
3
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