ASP.NET GridView模板字段中的CheckBox不会在提交时保留它的值

Cat*_*rea 3 asp.net checkbox gridview templatefield

我正在尝试在GridView的TemplateField中使用CheckBoxes从该GridView中选择多个条目.GridView的数据源是页面加载时生成的项目列表.

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
            DataKeyNames="GUID">
            <Columns>
                <asp:TemplateField ShowHeader="False" HeaderText="Checker">
                    <ItemTemplate>
                        <asp:CheckBox ID="SelectCheckbox" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

问题是当我按下提交按钮时,所有CheckBox都返回,Checked属性为'false'.

为了在行中循环,我使用:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }
Run Code Online (Sandbox Code Playgroud)

我应该使用什么才能访问正确的值?

谢谢,Catalin

Nic*_*ers 6

您是否每次都错误地在页面加载时重新绑定gridview?gridview绑定代码应该包含在if语句中,确保它只在不回发时完成.

我现在应该把它放在这里进行接受检查吗?:)