同様の質問を見つけましたが、決定的な答えはありませんでした。
GridView
中に入れれば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>
UserControl:
...
<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メソッドは、この問題に対して興味深いことは何もしません。