C# asp.net GridView复选框不可单击

C# asp.net GridView复选框不可单击,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在收集数据,一切正常,如果数据库中的位为1,则选中该复选框,如果为null或0,则不选中该复选框 然而,该复选框似乎被禁用,我需要用户能够选中该框,这将更新数据库以及 这是我的复选框: <Columns> <asp:CheckBoxField DataField="submitted" HeaderText="Submitted" ItemStyle-HorizontalAlign="Center" /> </Columns> 我是否遗漏了使

我正在收集数据,一切正常,如果数据库中的位为
1
,则选中该复选框,如果为
null
0
,则不选中该复选框

然而,该复选框似乎被禁用,我需要用户能够选中该框,这将更新数据库以及

这是我的复选框:

<Columns>
    <asp:CheckBoxField DataField="submitted" HeaderText="Submitted" ItemStyle-HorizontalAlign="Center" />
</Columns>


我是否遗漏了使此复选框可点击的内容?

我认为下面文档中的链接/引用可能会解释您的问题

复选框被禁用(只读),直到数据绑定控件 在编辑模式下显示包含复选框的记录。更多 有关如何将记录置于编辑模式的信息,请参阅 包含CheckBoxField的父控件的文档 反对

请参阅此帖子,了解处理此问题的最佳方法

编辑


您发布的CheckBoxField代码片段中也缺少
runat=“server”

您需要将您的GridView置于编辑模式,以便选中或取消选中该复选框。有几种方法可以做到这一点。最简单的方法可能是将此属性添加到GridView标记中:

AutoGenerateEditButton="True"
然后单击在要修改的行中创建的“编辑”按钮

通过将GridView的
EditIndex
设置为所需的行索引*,可以通过代码隐藏将特定行置于编辑模式:

yourGridViewID.EditIndex = 1;
yourGridViewID.Databind();

*我在上面使用了“1”作为示例,但您可以使用GridView.Rows集合范围内的任何行索引。实际上,您不需要对这些行使用
runat=“server”
,因为它是服务器端数据绑定控件的子元素(它是
GridView.Columns
集合的一部分)。感谢您的帮助,我使用了一种完全不同的方法,使用了一个按钮,因为所有的框架都已经存在,可以更快地添加按钮。感谢您的帮助,我使用了一种完全不同的方法,使用了一个按钮,因为所有的框架都已经存在,可以更快地添加按钮。