嵌套的UpdatePanel会导致整页回发

时间:2011-11-29 10:34:27

标签: c# asp.net ajax

我遇到了嵌套的自定义用户控件的问题,这些控件会导致整页回发,尽管它被UpdatePanel封装。

更新面板:

<asp:Content ID="mainContentPane" ContentPlaceHolderID="mainContent" runat="server">
    <asp:ScriptManager ID="smNetAjax" runat="server" />
    <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="pnlAssetTabView">
        <ContentTemplate>
             <custom:AssetTabView runat="server" ID="tvAddAssets" />
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

AssetTabView-control:

<custom:TabView runat="server" ID="tvTabView" OnSelectedTabChanged="tvTabView_SelectedTabChanged" />
<custom:AssetList runat="server" ID="dalAssetList" />

最后是TabView,其链接导致整页回发:

                   

<SelectedItemTemplate>
    <div class="tab current">
        <div class="left"></div>
        <asp:LinkButton ID="ExtendedLinkButton1" runat="server"><span><%# DataBinder.Eval(Container.DataItem, "HeaderText") %></span></asp:LinkButton>
        <div class="right"></div>
    </div>                                            
</SelectedItemTemplate>

<ItemTemplate>
    <div class="tab">
        <div class="left"></div>
        <asp:LinkButton OnCommand="ProcessTabSelection" CommandArgument='<%# Container.ItemIndex %>' ID="ExtendedLinkButton2" runat="server" TabIndex='<%# TabIndex + Container.ItemIndex %>'><span><%# DataBinder.Eval(Container.DataItem, "HeaderText") %></span></asp:LinkButton>
        <div class="right"></div>
    </div>                                            
</ItemTemplate>

<FooterTemplate>
    </div>
</FooterTemplate>

我真的没有正确的想法,我很想你可能有任何想法!谢谢。

1 个答案:

答案 0 :(得分:1)

您可以选择ProxyScriptManager。您不需要更新面板的名称,您可以迭代控制列表,直到找到最近向上的更新面板。