C# 如何在gridview中获取复选框值

C# 如何在gridview中获取复选框值,c#,asp.net,gridview,checkbox,C#,Asp.net,Gridview,Checkbox,你能帮我一下吗?我在gridview中检查控件时,复选框控件值始终为false for (int i = 0; i < GridView1.Rows.Count; i++) { CheckBox CheckBox1 = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); if (CheckBox1 != null) { if (CheckBox1.Checked) {

你能帮我一下吗?我在gridview中检查控件时,复选框控件值始终为false

for (int i = 0; i < GridView1.Rows.Count; i++)
{
    CheckBox CheckBox1 = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");

    if (CheckBox1 != null)
    {
        if (CheckBox1.Checked)
        {
            query = GridView1.Rows[i].FindControl("Label1") + ",";
        }
    }
}
for(int i=0;i
您是否正在使用页面加载方法进行数据绑定?如果是,您必须执行以下操作:

if(!IsPostBack)
{
    GridView1.DataSource = YourData;
}
如果不这样做,即使是
回发
,您的
DataGridView
也将被数据绑定。这样,无论您选择了什么,都将从数据源重新填充
DataGridView
,以用于回发


使用上述代码,如果(!IsPostBack)执行
操作,它将保留复选框的viewstate值,并且您将获得正确的
选中状态。

在复选框设计中添加以下属性

ToolTip=“”,下面是隐藏的代码

for(int i=0;i

}

Leniel你能再帮我一次吗,找到列值(标签字段)(标签)GridView1.Rows[i].FindControl(“Label1”)的正确方法吗?我想你必须这样做:
label myLabel=GridView1.Rows[i].FindControl(“Label1”)作为标签
;然后
var quey=myLabel.Text+,“;
for (int i = 0; i < gdview.Rows.Count; i++)
    {
        string labeldetail = "";

        CheckBox cbox = (CheckBox)gdview.Rows[i].Cells[0].FindControl("CheckBox1");

        if (cbox != null)
        {
            if (cbox.Checked == true)
            {

                int rowsNo = (Convert.ToInt16(city.ToolTip) - 1); //Convert.ToInt16(SrNo);
               labeldetail = ((Label)gdview.Rows[rowsNo].FindControl("labelid")).Value;