djcal007
Messages postés58Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention31 décembre 2007
-
28 déc. 2007 à 11:34
djcal007
Messages postés58Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention31 décembre 2007
-
31 déc. 2007 à 13:54
Bonjour,
actuellement j'ai un masterpage composé d'un updatepanel et d'un menu.
lorsque je clique sur le menu, je simule un clic sur un boutton inisible pour charger une page ascx dans mon updatepanel.
Jusque là tout fonctionne.
Dans cette page .ascx, j'ai un updatepanel contenant une gridview.
<masterpage>
<scriptmanger>
<menu>
------------ .ascx chargé dynamiquement---------
<gridview>
----------------------------------
Le problème : j'ai des linkbuttons et des commandbutton dans ma gridview. Lorsque je clique sur n'importe quel type de bouton mon updatepanel devient vide. Pourquoi ?
De plus, j'ai un event Rowcommand sur ma gridview et il ne s'éxécute jamais. Pourquoi?
Merci de votre aide. Je galére depuis une semaine...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 28 déc. 2007 à 14:26
Bonjour,
comme je le repete bientot tous les jours () il ne faut pas ajouter des contrôles dynamiquement car cela cause des pb avec les postback/viewstate. Pourquoi ne pas mettre ton UserControl dans la page et le rendre visible seulement quand il faut ?
djcal007
Messages postés58Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention31 décembre 2007 28 déc. 2007 à 15:36
Nouvel avancée
j'ai fixé ChildrenAsTriggers à "false" du updatepanel présent sur ma master page.
Par contre, lorsque je clique sur un lien ou bouton présent sur ma datagrid il envoi bien un dopostback par contre je n'arrive pas à intercepter ceux-ci
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 28 déc. 2007 à 15:47
Bonjour,
Oui, c'est normal car le controle n'est pas présent quand ASP.net veut essayer de faire ce qu'il faut pour déclencher le postback. Tu peux rajouter ton UserControl dans le page_init ca te résolvera quelques problèmes mais tu en auras d'autres ensuite. L'autre solution est de faire un custom web control et surcharger les méthodes CreateChildControls & co
djcal007
Messages postés58Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention31 décembre 2007 28 déc. 2007 à 16:36
Après avoir creuser, j'ai vu que dans un autre poste tu dis que l'on peut éviter de charger dynamiquement des usercontrols.
Comment as tu fait ? Quelle est la démarche à suivre? y a t il des tutos que tu peux me conseiller ?
djcal007
Messages postés58Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention31 décembre 2007 31 déc. 2007 à 10:52
J'ai cherché et je suis tombé sur un post que tu avais écrit.
Tu parlais d'un custom webcontrol pour chargé dynamiquement des usercontrols proprement.
Pourrais tu m'en faire part et voir comment tu t'y est pris pour charger dynamiquement ceci.
De plus, c'est assez urgent c'est pour le boulot.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 31 déc. 2007 à 11:33
Je ne suis pas sur de me souvenir de ce contrôle mais il me semble que j'avais fait un CustomControl avec une propriété String UC2Load et une propriété ITemplate Content.
Dans le CreateChildControls je regardais si Content !null, si oui je faisais un Content Page.LoadTemplate("UCTruc.ascx"); mais il ne me semble pas que je changeais de UserControl entre les postback car il faudrais grandement complexifier le contrôle (notamment modifier le setter de UC2Load (finalement pas tant de choses que ça à faire))