我在asp.net中有一个gridview,并且在更改复选框值时,完整的gridview返回响应.gitview视图中的数据非常庞大,并且导致严重的性能问题,因为所有数据都在复选框的checkchange事件中响应。请注意,由于某些操作正在检查复选框的状态,因此必须使用回发。这是gridview的代码。
<asp:GridView ID="ObjList" runat="server" OnLoad="ReloadGrid" CssClass="ObjList"
AutoGenerateColumns="false" OnRowDataBound="ObjList_RowDataBound" AutoGenerateSelectButton="false"
AllowPaging="False">
<Columns>
<asp:TemplateField HeaderText=" " ItemStyle-Width="46px" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<asp:CheckBox AutoPostBack="true" ID="chkAll" runat="server" OnCheckedChanged="HeaderChk_Changed" />
<asp:HiddenField ID="LinkNumIndexHead" runat="server" Value="-1" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox AutoPostBack="true" ID="chkRow" runat="server" Checked='<%# DataBinder.Eval(Container.DataItem, "Selection")%>'
OnCheckedChanged="ChkRow_OnCheckChange" />
<asp:HiddenField ID="LinkNumIndex" runat="server" Value="-1" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="46px" />
</asp:TemplateField>
</Columns>
</asp:GridView>
如果我在checkchange事件中注释代码,那么结果相同。附加屏幕截图显示复选框chage事件的单个请求中的数据大小。