1

我确实找到了类似的问题,但没有确凿的答案。

如果我把 aGridView放在里面UpdatePanel,一切正常。但是,如果我将它放在UserControllike<UserControl><UpdatePanel><GridView></..>中,则通过单击 GridView 上的标题进行排序将不再起作用(没有任何反应)。

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

是否根本不支持 UserControls 内的 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>

GridViewData_Sorting 方法对此问题没有做任何有趣的事情。

4

0 回答 0