我确实找到了类似的问题,但没有确凿的答案。
如果我把 aGridView
放在里面UpdatePanel
,一切正常。但是,如果我将它放在UserControl
like<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 方法对此问题没有做任何有趣的事情。