Bonjour,
Je repars de ce post-ci : http://www.developpez.net/forums/d68...rigger-ajoute/, j'ai changé le comportement, voici un résumé de ce que je veux faire et du problème qui se pose :
- UpdatePanel UP0 : écrit en dur dans la page aspx, ses éléments (dérivés de LinkButton) sont des async postback triggers pour l'UpdatePanel UP1
- au clic sur un élément de UP0, le code suivant s'exécute bien :
Première exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
- ajoute deux éléments au placeholder contenu dans UP1
- ajoute un event handler sur le clic sur ces éléments
- ajoute ces éléments en triggers de l'UpdatePanel UP2
Et c'est là que ça coince, car en cliquant sur un élément de UP1, je ne repasse pas dans la méthode "EltUp_Click" alors que je devrais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
J'ai vérifié les variables en debug.
De plus, en ayant ajouté une animation "UpdatePanelAnimationExtender" à ce panneau UP1 (effet de fade out du contenu lorsque le panneau se recharge), je constate qu'elle est joué quand je clique sur un élément de UP1, alors que ça ne devrait pas (cf code des UpdatePanels ci-dessous : childrenAsTriggers à false).
Je résume :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23<asp:UpdatePanel ID="UP0" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> <ContentTemplate> <mycontrols:FbFolder runat="server" ID="DX" Text="Elément 1" Level="0" OnClientClick="FbFolder_ClientClick(this.id)" OnClick="EltUp_Click"></mycontrols:FbFolder> <mycontrols:FbFolder runat="server" ID="INT" Text="Elément 2" Level="-1" OnClientClick="FbFolder_ClientClick(this.id)" OnClick="EltUp_Click"></mycontrols:FbFolder> </ContentTemplate> </asp:UpdatePanel> <asp:UpdatePanel ID="UP1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> <ContentTemplate> <asp:PlaceHolder runat="server" ID="UP1_PL" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="DX" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="INT" EventName="Click" /> </Triggers> </asp:UpdatePanel> <asp:UpdatePanel ID="UP2" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> <ContentTemplate> <asp:PlaceHolder runat="server" ID="UP2_PL" /> </ContentTemplate> </asp:UpdatePanel>
- ajout dynamique d'éléments avec event handler
- problème de l'évènement de clic non lancé
- problème de rafraîchissement du mauvais panneau.
Et pour finir, quand je clique sur un élément de UP1, il n'est pas trouvé par form1.FindControl(sonId) dans Page_Load.
Je vous remercie pour toute indication utile pour avancer car je commence à ne plus savoir comment faire (plusieurs que je travaille sur cette problématique de rafraîchissement de panneaux en cascade).
Je crois que je vais devoir passer en code javascript pour ajouter mes éléments et tout le toutim ?? Ca me semble moins évident à coder. NB : j'ai déjà une méthode OnClientClick pour surligner l'élément cliqué.
Barbara

 

 
		
		 
         
 

 
			
			


 
   



 
				 Problème EventHandler, UpdatePanel
 Problème EventHandler, UpdatePanel
				 Répondre avec citation
  Répondre avec citation
Partager