Bonjour,


J'ai une page, avec plusieurs UpdatePanel (3).

Dans l'UpdatePanel A, j'ai une listView.


Code de mon UPdatePanel A dans la page aspx :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
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
35
36
37
38
39
40
<asp:UpdatePanel
    ID ="uPanelA"
    runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlGenArt"  EventName="SelectedIndexChanged" />
        <asp:AsyncPostBackTrigger ControlID="btnValidWarningModification" EventName="Click" />
    </Triggers>
        <ContentTemplate>
            <asp:Label ID="lblNoWarning" runat="server" Text="Aucun avertissement diponible" Visible="False" ForeColor="Red"></asp:Label>
            <table id="tblDisplayWarning" width="100%" visible="false" runat="server">
                <tr>
                    <td align="center">
                        <asp:ListView ID="lvWarnings" runat="server" 
                            DataKeyNames="idEPCMountingWarning" 
                            onitemcommand="lvWarnings_ItemCommand" >
                            <LayoutTemplate>    
                                <table border="1">
                                    <thead>
                                        <tr>
                                            <th>Avertissement</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <asp:PlaceHolder runat="server" ID="itemPlaceHolder" />
                                    </tbody>
                                </table>
                            </LayoutTemplate>
                            <ItemTemplate>
                                <tr>
                                    <td><%# Eval("LibEPCMountingWarning")%></td>
                                    <td><asp:Button ID="btnUpdateWarning" runat="server" Text="Modifier" /></td>   
                                </tr>
                            </ItemTemplate>
                        </asp:ListView>
                    </td>
                </tr> 
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>

Et donc en fait je veux déclencher une MAJ asynchrone de mon UpdatePanel B à l'aide du bouton "btnUpdateWarning" contenu dans la listView de mon UpdatePanel A.


Code de mon UPdatePanel A dans la page aspx :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<asp:UpdatePanel 
    ID="uPanelB"
    runat="server"
    UpdateMode="Conditional" >
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="???" EventName="Click" />
        </Triggers>
        <ContentTemplate>
            < ..... >
        </ContentTemplate>
    </asp:UpdatePanel>
Pour ce faire, c'est dans le code de mon UpdatePanel B, dans la partie Triggers que ça se passe.
Je bloque sur le controlID.
Quand je met :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<Triggers>
     <asp:AsyncPostBackTrigger ControlID="btnUpdateWarning" EventName="Click" />
</Triggers>
Ça ne fonctionne pas, déclenche même une exception.
Quelle valeur dois-je mettre dans ControlID ?


Je pense que soit faut que je fasse un FindControl, soit c'est parce que les boutons sont générés dynamiquement par ListView et du coup, l'ID du bouton est généré dynamiquement...