我的 ASP.NET 页面上有一个 GridView 控件,当用户执行搜索时,该控件绑定到结果集。 我创建了一个带有 CheckBox 控件的附加 TemplateField 列,以允许用户从结果集中选择记录子集。 我已经在 GridView 控件中实现了分页,当用户选中复选框控件并翻阅结果集时,它不会保留任何选中的复选框。
<asp:GridView ID="MyGridView" runat="server" AllowPaging="true" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="MyCheckBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在 GridView 中分页时保留选中复选框的最佳方法是什么?
你必须自己维护状态。这个 Thread 显示了如何在 VB 中完成此操作。只需使用这个 VB 到 C# 转换器即可获得您想要的代码
您需要在 gridview 分页事件期间循环遍历行并保存复选框的选中状态(以及数据键)。同样,您需要从保存的检查状态列表中读取内容,以在 gridview rowdatabound 事件期间重新检查这些框。