我的gridview出现问题 - 基本上我想在每一行都有一个复选框,并且能够检查某些行并在点击“提交”后将此更新发送到数据库我在模板字段中有复选框:
<asp:TemplateField HeaderText="Approve?">
<ItemTemplate>
<asp:CheckBox ID="ckbxApprove" runat="server" />
</ItemTemplate>
</asp:TemplateField>
并在代码结束时:
protected void btnSubmit_OnClick(object sender, EventArgs e)
{
foreach (GridViewRow oRow in GridView1.Rows)
{
CheckBox bchecked = (CheckBox)oRow.FindControl("ckbxApprove");
if (bchecked.Checked)
{
//Do something
}
}
}
但是,如果我勾选gridview中的框并点击“提交”按钮,则没有任何复选框被标记为“已检查” 感谢
答案 0 :(得分:1)
您的代码似乎很好,您可能会在page_load事件中的回发上再次绑定网格。这是在帖子后面失去控件状态的常见原因之一是没有绑定IsPostBack块中的控件。
if(!Page.IsPostBack)
{
// bind grid here
}