我确实找到了类似的问题,但没有确定的答案。
如果我在GridView
内加UpdatePanel
,一切正常。
但是,如果我将其放在UserControl
<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方法对此问题没有任何兴趣。