Asp.net 用户控件内UpdatePanel中的GridView排序

Asp.net 用户控件内UpdatePanel中的GridView排序,asp.net,gridview,user-controls,viewstate,Asp.net,Gridview,User Controls,Viewstate,我确实发现了类似的问题,但没有得出结论性的答案 如果我将GridView放在UpdatePanel中,一切正常。 但是,如果我将它放在用户控件中,比如, 通过单击GridView上的标题进行排序不再有效(不会发生任何事情) 我当然可以手动处理排序(手动维护ViewState),但这真的是唯一的方法吗 用户控件中的UpdatePanels中的GridView是否不受支持 ASPX页面: <%@ Register src="usercontrols/MyModule.ascx" TagPref

我确实发现了类似的问题,但没有得出结论性的答案

如果我将
GridView
放在
UpdatePanel
中,一切正常。 但是,如果我将它放在
用户控件
中,比如
, 通过单击GridView上的标题进行排序不再有效(不会发生任何事情)

我当然可以手动处理排序(手动维护
ViewState
),但这真的是唯一的方法吗

用户控件中的UpdatePanels中的GridView是否不受支持

ASPX页面:

<%@ Register src="usercontrols/MyModule.ascx" TagPrefix="mm" TagName="MyModule" %>
...
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager runat="server"/>
        <mm:MyModule runat="server" />
    </div>
    </form>
</body>
...
<asp:UpdatePanel ID="MainUpdatePanel" runat="server">
    <ContentTemplate>
    ....
    <asp:GridView ID="GridViewData" runat="server"
        GridLines="None"
        CssClass="gridview"
        AutoGenerateColumns="false"
        AllowPaging="false"
        AllowSorting="true"
        ShowHeaderWhenEmpty="true"
        ShowFooter="true"
        OnSorting="GridViewData_Sorting">
        <Columns>
            <asp:TemplateField HeaderText="MyHeader" SortExpression="dbMyColumn">
                <ItemTemplate>
                    <%# Eval("dbMyColumn") %>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

...
UserControl:

<%@ Register src="usercontrols/MyModule.ascx" TagPrefix="mm" TagName="MyModule" %>
...
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager runat="server"/>
        <mm:MyModule runat="server" />
    </div>
    </form>
</body>
...
<asp:UpdatePanel ID="MainUpdatePanel" runat="server">
    <ContentTemplate>
    ....
    <asp:GridView ID="GridViewData" runat="server"
        GridLines="None"
        CssClass="gridview"
        AutoGenerateColumns="false"
        AllowPaging="false"
        AllowSorting="true"
        ShowHeaderWhenEmpty="true"
        ShowFooter="true"
        OnSorting="GridViewData_Sorting">
        <Columns>
            <asp:TemplateField HeaderText="MyHeader" SortExpression="dbMyColumn">
                <ItemTemplate>
                    <%# Eval("dbMyColumn") %>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
。。。
....

GridViewData\u排序方法对此问题没有任何有趣的作用。

您至少应该向我们展示您的UpdatePanel。是否有?不应与UpdatePanel关联。你能移除更新面板,看看是否能像预期的那样工作吗?蒂姆:对不起,我实际上希望答案是一个简单的“不受支持”。我已经更新了帖子。请注意,不幸的是,我混淆了一些东西-我已经更改了帖子:UpdatePanel在用户控件中,而不是它最初所说的那样。蒂姆:即使没有ChildrenaStrigers,UpdatePanel回发也会被触发,它只是不会改变页面上的任何内容。