2013-04-02 37 views
2

- 基本上我想有一个复选框每行中,并且能够击中“提交”后,检查了某些行,并有此更新到数据库中,我有复选框中的一个TemplateField:复选框中,我有我的GridView的麻烦一个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中勾选框,并点击提交按钮,没有任何的复选框被标记为'Checked' 谢谢

回答

1

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

if(!Page.IsPostBack) 
{ 
    // bind grid here 
} 
+0

谢谢你,谢谢你! – user2234552

+0

不客气@ user2234552 – Adil