Dans un exemple simple avec deux Update-Panels imbriqués. Ils sont imbriqués, et chacun a une étiquette qui est remplie avec l'heure actuelle dans le code derrière. Je ne comprends pas pourquoi la propriété ChildrenAsTriggers="true"
- sur le UpdatePanel externe n'a aucun effet? Lorsque j'appuie sur le bouton 'Mettre à jour le panneau imbriqué', l'heure dans le parent UpdatePanel n'est pas mise à jour. Mais pour autant que je comprends la propriété, il devrait être:UpdatePanel imbriqué: pourquoi ChildrenAsTriggers n'a aucun effet?
<asp:ScriptManager ID="ScriptManager1" runat="server"
onasyncpostbackerror="ScriptManager1_AsyncPostBackError">
</asp:ScriptManager>
<asp:Button ID="ButtonUpdate" runat="server" Text="Update Panel 1"
style="margin-top: 15px" onclick="ButtonUpdate_Click" />
<asp:Button ID="ButtonUpdateNestedPanel" runat="server" Text="Update Nested Panel"
style="margin-top: 15px" onclick="ButtonUpdateNestedPanel_Click" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ButtonUpdate" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" />
<asp:UpdatePanel ID="UpdatePanelNested" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ButtonUpdateNestedPanel" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Label ID="LabelNested" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
Thx pour tout tipps! sl3dg3
p.s .: code sous-jacent:
protected void ButtonUpdate_Click(object sender, EventArgs e)
{
LabelNested.Text = DateTime.Now.ToString();
Label1.Text = DateTime.Now.ToString();
}
protected void ButtonUpdateNestedPanel_Click(object sender, EventArgs e)
{
LabelNested.Text = DateTime.Now.ToString();
Label1.Text = DateTime.Now.ToString();
}
hmm mais là encore je pourrais laisser 'ChildrenAsTriggers' dehors - il mettrait à jour de toute façon ... Je ne peux tout simplement pas faire le point de cette propriété. – sl3dg3