1 usercontrol + ajax + bouton n fois, ça va, 2 usercontrol, bonjour les dégats !

Résolu
JMPlus Messages postés 11 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 26 octobre 2009 - 7 oct. 2009 à 22:01
JMPlus Messages postés 11 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 26 octobre 2009 - 8 oct. 2009 à 19:49
Bonjour,

J'ai un usercontrol1 qui contient un bouton que j'instancie n fois selon le nb d'occurrences d'une classe de données dans le page_init de ma page.

Tous ces usercontrol1 sont ajoutés à un updatepanel1 qui est crée dynamiquement juste avant.

Lorsque je clique sur le bouton du dernier usercontrol1 créé, j'en rajoute un nouveau dynamiquement dans mon updatepanel1 :
UpdatePanel up = (UpdatePanel)this.Page.FindControl("UP_1");
if (up != null)
{
WebUserControl1 uc = (WebUserControl1)this.LoadControl("WebUserControl1.ascx");
up.ContentTemplateContainer.Controls.Add(uc);
up.Update();
}

Et j'incrémente ma classe de données.
Pas de souci, ça marche nickel autant fois que je veux.

Maintenant, je veux simplement faire exactement la même chose avec des usercontrol2 contenus dans un userpanel2 qui se trouve juste derrière sur la même page et là, patatras !

Sur mon projet d'origine, un clic sur le bouton du premier usercontrol1 rajouté dynamiquement ne déclenche plus l'évênement associé !?

Sur le projet minimal réalisé pour vous montrer et que vous pourrez trouver ici : http://dl.free.fr/oUxt2vzTu , j'ai le même comportement, voire même parfois le clic sur un bouton d'un usercontrol1 crée un usercontrol2 !??

J'ai bien essayé de recréer les évênements clic sur le page_load de mes users controls ou juste avant de les instancier, mais je n'ai vu aucun changement.

Je dois donc oublier quelque chose de fondamental, mais je ne vois hélas pas quoi...

Merci d'avance.
A voir également:

2 réponses

JMPlus Messages postés 11 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 26 octobre 2009
8 oct. 2009 à 19:49
Bon, finalement j'ai réussi à résoudre mon problème bizarre.

J'ai arrêté de vouloir rajouter dynamiquement mes usercontrols et je les ai tous créés dès le départ avec la propriété visible à false, ce qui n'alourdit en rien ma page puisque les controls ne sont pas générés.

Chacun de mes usercontrols contient un updatepanel ,et le point important, c'est qu'il y en a un autre qui englobe chaque "bloc" de usercontrols du même type afin de pouvoir faire un update dessus après avoir rendu le dernier usercontrol visible, ce qui "rafraichit" le bloc et fait apparaitre le nouveau usercontrol.

A noter, qu'il n'y a aucun trigger et aucun évênement clic de créé dynamiquement, tout se fait tout seul.

En espérant que ça en aidera d'autres !
3
SLYM37 Messages postés 4 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 17 juin 2010
8 oct. 2009 à 16:10
UP

j'ai a peu près le même problème, je voudrais charger 2 fois le même ascx dans ma page.

Mon ascx contient un GridView, et je passe un paramètre afin de le charger avec un contenu différent.

Tout se passe bien, mais à l'affichage de la page, j'ai le même contenu dans mes 2 GridView (Alors que dans le debugger, le paramètre est bien passé et le chargement de chaque gridview se fait bien en fonction du paramètre, et le datable (utilisé pour le datasource de la gridview) obtenu grâce à ce paramètre contient les bonnes informations).

Je pense que j'oubli aussi quelque chose mais je ne vois pas quoi ...

Merci d'avance.
0
Rejoignez-nous