UpdatePanel imbriqués: Pourquoi ne ChildrenAsTriggers n'ont aucun effet?
Donné un exemple simple avec deux imbriqués mise à Jour des Panneaux. Ils sont imbriqués, et chacun a une étiquette qui est rempli à l'heure actuelle dans le code derrière. Je ne comprends pas pourquoi le ChildrenAsTriggers="true"
- Propriété sur l'UpdatePanel externe n'a pas d'effet? Quand j'ai cliqué sur " mise à Jour Imbriquée du Panneau de bouton, le temps dans le parent de l'UpdatePanel n'est pas mis à jour. Mais autant je comprends la propriété, il doit être:
<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>
Merci pour tous les conseils!
sl3dg3
p.s.: code derrière:
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();
}
OriginalL'auteur sl3dg3 | 2011-05-26
Vous devez vous connecter pour publier un commentaire.
et cela devrait être comme...
ChildrenAsTriggers
hors - la mise à jour de toute façon... je ne peux tout simplement pas faire le point de cette propriété.OriginalL'auteur Muhammad Akhtar
Je crois que, dans le but de voir l'effet recherché dans l'action, en fait, vous devez ajouter vos boutons comme des enfants dans le contenu du modèle. Le "ChildrenAsTriggers" propriété s'applique uniquement aux enfants directs de la "ContentTemplate" bloquer.
OriginalL'auteur Will
ChildrenAsTriggers="true"
Définir la ChildrenAsTriggers propriété à true si vous souhaitez que les publications de contrôles enfants immédiats du contrôle UpdatePanel à cause d'une mise à jour du panneau de contenu. Enfant contrôles de contrôles UpdatePanel imbriqués n'entraîne pas une mise à jour de la société mère du contrôle UpdatePanel contenu, sauf si vous appelez la méthode de mise à Jour explicitement ou vous pouvez définir les contrôles enfants comme des déclencheurs.
OriginalL'auteur Roja