Balise <form>

Résolu
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 - 21 juin 2006 à 15:49
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 - 21 juin 2006 à 16:21
J'ai un UserControl qui contient un TreeView.

Quand je l'inclu dans la page "en dur", pas de problemes.
Mais quand je veux le charger dynamiquement avec LoadControl, une erreur apparait me disant qu'il faut que le TreeView soit entre des balise <form> avec runat="server".

Quand je rajoute la balise <form> dans l'ascx, j'ai une autre erreur me disant qu'une page ne peut pas contenir plus d'une balise <form> avec runat="server"

Comment faire ?

D@runia

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 juin 2006 à 15:52
Bonjour,

il faut que tu rajoutes ton treeview dans la balise form de ta page ! le plus simple est dans la balise form de ta page tu met un placeolder et ensuite tu met ton treeview dedans

<hr />Cyril - MVS - MCP
3
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
21 juin 2006 à 16:03
Merci, ça fonctionne !
Je n'ai cependant pas compris pourquoi ... La MSDN dit qu'un PlaceHolder sert à contenir des controles dynamiques, mais ne précise pas pourquoi il est indispensable.

D@runia
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 juin 2006 à 16:14
Le problème est qu'en faisant un page.controls.add tu vas rajoutes ton controle dans la page et non dans la balise <form id="runat="server"
or un controle treeview a besoin d'etre dans une balise form car il fait des postback, c'est pour cette raison qu'il t'indique une erreur quand t'essayes de la mettre dans la page directement.

tu aurais aussi pu écrire form1.controls.add pour le rajouter dans la form ca aurait fait la meme chose, mais tu n'as pas un controle trés précis d'ou il va se positionner c'est pour cela que je t'ai conseillé de rajouter un placeholder comme ca tu peux le mettre ou tu veux dans ton code à l'intérieur de ta balise form :-)

<hr />Cyril - MVS - MCP
0
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
21 juin 2006 à 16:21
Ah OK, je vois plus clair à présent !
Merci beaucoup pour ton aide !

D@runia
0
Rejoignez-nous