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

时间:2011-02-17 12:37:24

标签: asp.net gridview checkbox 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>

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

要循环使用行,我使用:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }

为了能够访问正确的值,我应该使用什么?

谢谢,Catalin

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

如果您在页面加载时绑定网格。像这样加载网格。

if(!ispostback)
{
..........loading data to databind.

}