0

我有两个绑定字段和项目模板上的模板我有一个复选框现在我想检查选中的复选框并想要检索复选框文本我在行数据绑定中找到了控件但问题是一旦我调试代码不会继续,它会在此事件下循环:

protected void ProdView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        CheckBox ch1 = (CheckBox)e.Row.FindControl("CheckBox1");
        if (ch1.Checked == true)
        {
            Session["rechargeid"] = ch1.Text;
        }
    }
}

并且不继续有人可以建议我这样做的可能方法吗....?

4

2 回答 2

0
foreach (GridViewRow rw in gv_discpoint.Rows)
{
    CheckBox chkfill = (CheckBox)rw.FindControl("txtchk");
    TextBox txtaction = (TextBox)rw.FindControl("txtAction");
    TextBox txttarget = (TextBox)rw.FindControl("txttarget");
    if (chkfill.Checked == true)
    { // do something }
    else if (chkfill.Checked == false)
    { // do something }
}
于 2013-10-11T06:07:08.973 回答
0

FYIRowDataBound事件在数据绑定到网格视图时起作用。例如,如果您将数据表绑定到网格视图并且数据表有 5 行,则RowDataBound触发 5 次(有时更多)。

从了解您的问题来看,您需要一些回发方法(通过单击按钮)来获取所有选中复选框的文本。如果您保留一个按钮并且单击它应该获取您的需要,则代码如下

 protected void button_Click(object sender, EventArgs e)
 {

       for(int i=0; i<gridView.Rows.Count; i++)
       {
           CheckBox cb = (CheckBox)gridView.Rows[i].FindControl("CheckBox1");
           if (cb.Checked == true)
           {

               // use cb.Text to retrieve the checkbox text
           }

       }
 }
于 2013-10-15T09:37:26.677 回答