在gridview中获取正确的复选框状态的问题

时间:2013-01-08 06:47:10

标签: asp.net

我有一个嵌套的gridview。在内部gridview中,我有一个列,每行包含一个复选框。

<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时绑定gridviews。当我检查任何内部复选框,并尝试使用保存按钮保存时,在按钮单击事件中,我获得了正确的复选框值。但是,如果我取消选中任何一个ckeckbox(使用Checked = True),则在该特定复选框的保存按钮单击事件中;我将选中的值设为True而不是False。

1 个答案:

答案 0 :(得分:0)

尝试将网格绑定在!ispostback之外。