PlaceHolder et UserControl

Résolu
edokt Messages postés 137 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 30 septembre 2008 - 22 août 2006 à 00:32
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 août 2006 à 09:11
Salut tout le monde


J'ai un petit problem que je comprends pas


J'ai un user control que je charge dans un placeholder en utilisant un
bouton "Charger" situé sur le meme page que le placeholder.


dans le usercontrol j'ai un des textbox et des bouton Valider pour mettre a jour les donnes dans la base Sql


Le problem que si le usercontrol est chargé dynamiquement dans le
placeholder le bouton valider de user control ne fonction pas (avec le
debug il rentre meme pas dans le code de bouton, et il me vide le
placeholder)

Par contre si le usercontrol est placer sur la page directement sans
placeholder  ou si le usercontrol est chargé dans le placeholder
de le demarage de la page , le bouton "Valider" de user control
fonctionne correctement.


Je sais pas si j'ai bien explique le probleme,


De tout façon merci pour votre comprehension et aide

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
23 août 2006 à 01:35
Bonjour,


il faut absolument loader les userControl dans le page_init sinon ca ne fonctionnera pas. Je viens de fournir un petit peu de code ici : http://www.aspfr.com/infomsg_CREATION-DYNAMIQUE-CHAMPS_800620.aspx#2 

Et je viens de modifier mon UserControl comme ci dessous pour gérer les evenements et tout fonctionne normalement.


<%@
Control
Language="C#"
ClassName="UCPersonne" %>



<



script



runat
="server">






private



void
Button1_Click(

Object
sender,

EventArgs
e){

Label1.Text = TextBoxFirstName.Text +


" "
+ TextBoxLastName.Text; }



</



script
><


asp
:
Label



ID
="LabelFirstName"



runat
="server"



AssociatedControlID
="TextBoxFirstName"



EnableViewState
="false">
Prénom :

</
asp
:
Label
><
asp
:
TextBox



ID
="TextBoxFirstName"



runat
="server"></
asp
:
TextBox
><
br



/><


asp
:
Label



ID
="LabelLastName"



runat
="server"



AssociatedControlID
="TextBoxLastName"



EnableViewState
="false">
Nom :

</
asp
:
Label
><
asp
:
TextBox



ID
="TextBoxLastName"



runat
="server"></
asp
:
TextBox
><
br



/><


hr



/><


asp
:
Label



ID
="Label1"



runat
="server"



/><


asp
:
Button



id
="Button1"



runat



="server"



Text
="toto"



OnClick
="Button1_Click"



/><


hr



/>



<hr />

Cyril - MVS - MCP
3
edokt Messages postés 137 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 30 septembre 2008
22 août 2006 à 13:02
Salut encore

J'ai regarder sur les autre sites mais je ne trouve pas la solution
aparament ce n'est pas possible d'utiliser l'evenement d'un bouton qui se trouve dans une usercontrol quand le usercontrol est créer apres l'ouverture de la page dynamiquement.

Il y a un truc pour mettre les Handlers dans OnInit, mais ça resoudre le probleme seulement si on a besoin de creer le control en pendent le demarage

Mais bon je cherche une soltion pour resoudre le problem, mais c'est un peu chiant parce que c'etait bien de charger chaque fois les usercontrol avec les données nessasaire et valider les infos apres la modifications

De tout façon si qqn a une idee merci pour votre reponse

Merci
0
edokt Messages postés 137 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 30 septembre 2008
23 août 2006 à 07:50
Merci pour ta reponse

Donc si je bien compris , si veux charger le placeholder avec un usercontrol apres le load de la page en appuyant sur un bouton par exemple, j'ai pas de chance d'avoir les evenement de user control c'est ça?

C'est vraiment dommage , mais c'estpas grave j'ai deja fait des changement dans mon projet et j'utilise plus le user control

Merci pour ta reponse encore une fois
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2006 à 09:11
Bonjour,

ca n'a rien à voir avec les UserControl ! Le fonctionnement interne d'asp.net fait qu'il faut rajouter des controles lors de l'init de la page mais les evenements sont déclenché aprés le load, donc il faut retourner sur le init en faisant un response.redirect ca fonctionne trés bien et cela a plusieurs avantages : l'url est bookmarkable si on appuie sur F5 ca fonctionne sans mauvaise surprises.

<hr />Cyril - MVS - MCP
0