母版页上的更新面板也会刷新子页面更新面板

时间:2009-09-12 12:49:52

标签: asp.net asp.net-ajax updatepanel

我有一个母版页,在顶部我用jquery显示div。在那个div我有一个更新面板,带有一个带有autopostback true的复选框。基本上我想制作一个菜单来更改设置而不需要整页回发。它完美地运行

但我有一个特定的子页面,其中我有一个图库,里面有一个更新面板,里面是一个数据列表,可以在不回发的情况下更改图像。

问题是,当我点击母版页复选框时,子页面上的更新面板也会刷新..为什么会发生这种情况?

对于母版页更新面板,我更新模式条件 childeren作为触发器 false ,我为 CheckBox1_CheckChanged 事件设置了 asynchchpostback触发器

所以我做错了什么......

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                <ContentTemplate>
                    <table border="0" cellpadding="0" cellspacing="0" style="width: 100%">
                        <tr>
                            <td style="padding-right: 2px">
                             <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />
                            </td>
                            <td>
                               notify me of new buzz through email</td>
                        </tr>
                    </table>
                     <asp:HiddenField ID="bmStatus" runat="server" />
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="CheckBox1" EventName="CheckedChanged" />
                </Triggers>
            </asp:UpdatePanel>

我是否必须在子页面更新面板上设置任何其他设置...如果询问,我将发布子页面更新面板代码!!!

非常感谢

1 个答案:

答案 0 :(得分:1)

无论如何,UpdatePanel都是完整的回发。我建议删除ChildrenAsTriggers =“False”,除非你有其他原因需要它。以下是此设置的链接。您可能需要多个UpdatePanel来实现所需的功能。

http://www.asp.net/ajax/documentation/live/mref/P_System_Web_UI_UpdatePanel_ChildrenAsTriggers.aspx