在GridView里面添加CheckBox,如何得到被选中这一行的Id

2024-12-14 17:11:50
推荐回答(5个)
回答1:

foreach(GridViewRow rowview in GridView1.Rows) //遍历Gridview中的每一行
{
//假设你的gridview中的复选框放在第一列,id是“CheckBox1”
CheckBox check = (CheckBox)rowview.Cells[0].FindControl("CheckBox1");//找到了checkbox控件

if(check.Checked)//如果被选中

{
...
//假设你把每一行的id放在第二列
string myid = rowview.Cells[1].text;//这就是所在行的id,赋值给了myid
....
}

}

回答2:

1.设置GridView的DataKeyNames="id"
2.在事件里写
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cb = (CheckBox)(GridView1.Rows[i].FindControl("你的checkbox id"));
string id = GridView1.DataKeys[i]["id"].ToString();
if (cb.Checked)
{
string id = GridView1.DataKeys[i]["id"].ToString();
}
}

回答3:

给复选框添加AutoPostBack="true"和OnCheckedChanged事件

在OnCheckedChanged事件里面用
(sender as CheckBox).NamingContainer as GridViewRow获得当前行,再获取相应控件上绑定的ID值

回答4:

设置GridView控件的DataKeyNames=“id”,如果和数据源控件绑定的话,更新的时候GridView控件会自动把名为id的参数传给数据源控件。

回答5:

也可以通过下标来找啊 我可以找到子控件内的value或text的值。