更新面板问题

时间:2010-04-07 05:47:15

标签: asp.net updatepanel

这是我的代码:

<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Click1" OnClick="Button1_Click" />
                <br />
                <br />
                Last refresh
                <%=DateTime.Now.ToString() %>
                <br />
                <br />
                <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" ChildrenAsTriggers="true" runat="server">
                    <ContentTemplate>
                        <asp:Button ID="Button2" runat="server" Text="Click2" OnClick="Button2_Click" />
                        <br />
                        <br />
                        Last refresh
                        <%=DateTime.Now.ToString() %>
                        <br />
                        <br />
                    </ContentTemplate>
                     <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
            </Triggers>
                </asp:UpdatePanel>
            </ContentTemplate>
             <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
            </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>

我在这里使用两个更新面板,当我点击“Button2”然后“UpdatePanel2”被刷新,如果我点击“Button1”然后两个更新面板都刷新,但我需要的是如果我点击“Button1”然后“UpdatePanel1”必须要刷新。

感谢。

1 个答案:

答案 0 :(得分:4)

此行为是设计使然。因为UpdatePanel2嵌套在UpdatePanel1中,所以当您刷新UpdatePanel1的内容时,这包括子UpdatePanel。

如果您希望UpdatePanel2与UpdatePanel1分开操作,您将不得不将其从UpdatePanel1中取出并使其成为兄弟,而不是孩子。