Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 嵌套的UpdatePanel触发器_.net_Asp.net_Ajax_Asp.net Ajax_Updatepanel - Fatal编程技术网

.net 嵌套的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> ..

我的子UpdatePanel更新其内容及其父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>