我在 UpdatePanel 中有 GridView,并且 UpdatePanel 的 UpdateMode 设置为有条件的。
Gridview 包含 asp:CheckBox 作为 TemplateField,其余列是动态创建的绑定字段。Checkbox AutoPostBack 设置为 true,我根据复选框值更新数据表(在会话内)。
这是标记:
<asp:GridView ID="ObjList" runat="server" CssClass="ObjList" AutoGenerateColumns="false" OnRowDataBound="ObjList_RowDataBound" AutoGenerateSelectButton="false" AllowPaging="False">
<Columns>
<asp:TemplateField HeaderText=" ">
<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" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
仅在已部署版本中: 每当用户快速单击 2 个或更多复选框时。回发第一个复选框触发,其余复选框未选中。我该如何控制这种行为?
当本地 IIS 运行时: 每个复选框的回发都会触发。
在 Firebug 调试中,注意到第一个复选框的回发需要相当长的时间。请告诉我如何避免这种情况。