微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么updatepanel会触发另一个updatepanel?

我的ajax页面上有两个更新面板.这是我第一次使用updatepanel而且我不知道出了什么问题.我认为只有btnFilter的Click事件必须触发第二个更新面板的内容,但更改组合值(也隐藏/取消隐藏btnFilter按钮)会使第二个更新面板更改内容(至少我看到传输的数据有时使用firebug和第二个updatepanel闪烁).在线here.

<asp:UpdatePanel ID="upComparison" runat="server">
    <ContentTemplate>
        Brand:
        <asp:DropDownList ID="ddlBrands" runat="server" AutopostBack="true"
        OnSelectedindexChanged="ddlBrands_SelectedindexChanged"
        AppendDataBoundItems="true">
            <asp:ListItem Value="" Text="Please select a brand..." />
        </asp:DropDownList>
        <asp:Panel ID="pModels" runat="server" Visible="false">
            Model:
            <asp:DropDownList ID="ddlModels" runat="server" AutopostBack="true"
            OnSelectedindexChanged="ddlModels_SelectedindexChanged" />
        </asp:Panel>
        <asp:Panel ID="pButton" runat="server" Visible="false">
            <asp:UpdateProgress ID="upMain" runat="server" displayAfter="100">
                <Progresstemplate><img src="/Assets/Images/loader.gif" />
                </Progresstemplate>
            </asp:UpdateProgress>
            <asp:Button ID="btnFilter" runat="server" Text="Filter" 
            OnClick="btnFilter_Click" />
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>    
<asp:UpdatePanel ID="upList" runat="server">
    <ContentTemplate>
        <asp:Repeater ID="rProducts" runat="server">
            <ItemTemplate>some code here</ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnFilter" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

解决方法:

认情况下,每个异步回发期间都会刷新每个UpdatePanel.

要更改此行为,请将UpdateMode property设置为Conditional.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐