ネストされたグリッドビューがあります。内側のグリッドビューには、各行に 1 つのチェックボックスを含む列があります。
<asp:GridView ID="OuterGridView" runat="server" Width="80%" AutoGenerateColumns="false"
DataKeyNames="PartnerID,PromotionId" CssClass="GridViewCss">
<Columns>
<asp:TemplateField HeaderText="Header1" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"
ItemStyle-Width="20%">
<ItemTemplate>
<asp:LinkButton ID="Edit" Text='<%#Eval("Org") %>'
runat="server"></asp:LinkButton>
<img alt="" style="cursor: pointer" src="images/ex.gif" />
<div style="overflow: scroll; display: none; height: 100px;">
<asp:GridView ID="InnerGridView" runat="server" AutoGenerateColumns="false"
ShowHeader="false">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:CheckBox Text='<%#Eval("School") %>'
ID="CheckBoxInner" Checked='<%#Eval("IsActive") %>' runat="server"
ViewStateMode="Enabled" EnableViewState="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Header2" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left" ItemStyle-Width="30%">
<ItemTemplate>
<asp:CheckBox Text="All" ID="CheckBoxOuter" runat="server" OnCheckedChanged="GridViewOuterCheckedChange"
AutoPostBack="true" EnableViewState="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
!ispostback のときにグリッドビューをバインドします。内側のチェックボックスのいずれかをチェックし、保存ボタンで保存しようとすると、ボタンクリックイベントで、チェックボックスの適切な値が取得されます。しかし、ckeckbox (Checked=True) のいずれかをオフにすると、その特定のチェックボックスの保存ボタン クリック イベントで; チェックされた値を False ではなく True として取得します。