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

Messages postés
11
Date d'inscription
mercredi 23 novembre 2005
Dernière intervention
26 octobre 2009
- 7 oct. 2009 à 22:01 - Dernière réponse :
Messages postés
11
Date d'inscription
mercredi 23 novembre 2005
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.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
mercredi 23 novembre 2005
Dernière intervention
26 octobre 2009
8 oct. 2009 à 19:49
3
Merci
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 !

Merci JMPlus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de JMPlus
Messages postés
4
Date d'inscription
mardi 9 janvier 2007
Dernière intervention
17 juin 2010
8 oct. 2009 à 16:10
0
Merci
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.
Commenter la réponse de SLYM37

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.