.net 嵌套的UpdatePanel触发器
我的子UpdatePanel更新其内容及其父UpdatePanel的内容.net 嵌套的UpdatePanel触发器,.net,asp.net,ajax,asp.net-ajax,updatepanel,.net,Asp.net,Ajax,Asp.net Ajax,Updatepanel,我的子UpdatePanel更新其内容及其父UpdatePanel的内容 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> ... <asp:UpdatePanel ID="UpdatePanel2" runat="server"> ... </asp:UpdatePanel> ..
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
...
<asp:UpdatePanel ID="UpdatePanel2"
runat="server">
...
</asp:UpdatePanel>
...
</asp:UpdatePanel>
...
...
...
我不希望我的父UpdatePanel在其子项每次更新时都被更新。将设置为有条件的
<asp:UpdatePanel ID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
...
</asp:UpdatePanel>
:
子更新面板仅刷新其
内容,不刷新的内容
父更新面板,除非
父更新的更新模式
面板未设置为“有条件”
:
当设置为“条件”时
UpdatePanel将仅在
由内部控件发起的回发
从触发器中选择面板或
明确规定。所以,如果你有多个
更新面板,但您不想
更新所有这些文件,以便每周一次更新
时间,您必须设置UpdateMode
有条件的
我就是这么做的
<asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="False"
UpdateMode="Conditional" runat="server">
...
<asp:UpdatePanel ID="UpdatePanel2" ChildrenAsTriggers="False"
UpdateMode="Conditional" runat="server">
...
</asp:UpdatePanel>
...
</asp:UpdatePanel>
...
...
...
在将UpdatePanel2控件与数据绑定后的代码中,调用UpdatePanel2.Update();
Ajax只更新“UpdatePanel2”中的HTML标记。这是真正的答案,您不需要通过代码隐藏来处理它。在第一个UpdatePanel上只需一个ChildrenAsTriggers=false就足够了。此外,如果有三个或更多嵌套面板怎么办?!
<asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="False"
UpdateMode="Conditional" runat="server">
...
<asp:UpdatePanel ID="UpdatePanel2" ChildrenAsTriggers="False"
UpdateMode="Conditional" runat="server">
...
</asp:UpdatePanel>
...
</asp:UpdatePanel>