2

我的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 中选中复选框并点击提交按钮,则没有一个复选框被标记为“已选中”谢谢

4

1 回答 1

1

您的代码看起来不错,您可能会在 page_load 事件的回发时再次绑定网格。回发时失去控件状态的常见原因之一是未绑定 IsPostBack 块中的控件。

if(!Page.IsPostBack)
{
     // bind grid here
}
于 2013-04-02T04:41:55.003 回答