嵌套的UpdatePanel触发器

6
我的子UpdatePanel更新其自身内容和其父级UpdatePanel的内容。
<asp:UpdatePanel ID="UpdatePanel1" 
                 runat="server">
    ...
    <asp:UpdatePanel ID="UpdatePanel2" 
                     runat="server">
        ...
    </asp:UpdatePanel>
    ...
</asp:UpdatePanel>

我不希望每次子UpdatePanel更新时,父UpdatePanel也跟着更新。
3个回答

6
<asp:UpdatePanel ID="UpdatePanel1" ChildrenAsTriggers="False"
                 UpdateMode="Conditional"
                 runat="server">

</asp:UpdatePanel>

这是真正的答案。 - Fandango68

5

UpdatePanel.UpdateMode属性设置为Conditional

<asp:UpdatePanel ID="UpdatePanel1" 
                 UpdateMode="Conditional"
                 runat="server">
    ...
</asp:UpdatePanel>

Project Cool:

Child Update Panel只刷新其内容,而不会刷新父Update Panel的内容,除非父Update Panel的更新模式未设置为Conditional。

CodeClimber:

当设置为Conditional时,UpdatePanel仅在由面板内控件或指定的触发器引起的postback上更新。因此,如果您有多个Update Panel,并且不想每次都更新所有Update Panel,则必须将UpdateMode设置为Conditional。


2

这是我的工作内容

<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即可。此外,如果您有三个或更多嵌套的面板呢?! - Fandango68

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接