我有一个具有多行的 GridView,在每一行上我都有一个 CheckBox 和一个 HiddenField。单击按钮时,我想检查 CheckBox 是否被选中,如果是,我想为该行获取 HiddenField 的值。每行上的每个 HiddenField 都有不同的值。用户可以检查多个 CheckBox,因此我需要能够提取每个 HiddenField 的值。
任何帮助将不胜感激。
谢谢
遍历网格中的每一行,检查复选框是否被选中,如果是,则获取隐藏字段的值。
foreach (GridViewRow row in grdView.Rows)
{
if((row.FindControl("chkBoxId") as CheckBox).Checked)
{
string hiddenFieldValue = (row.FindControl("hiddenFieldId") as HiddenField).Value;
}
}
其中 chkBoxId 是页面上复选框的 ID 属性, hiddenFieldId 是页面上隐藏字段控件的 ID。
Possible duplicates.
如何获取使用asp .net检查的gridview中的CheckBoxes值
获取gridview(Asp.net)c#中选定复选框的ID
上述链接中的答案之一:
foreach(Gridviewrow gvr in Gridview1.Rows)
{
if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true)
{
//Get hidden field value here.
}
}
您可以使用这样的代码:
protected void BtnMybutton_click( Object sender, EventArgs e)
{
Button Mybutton = (Button) sender;
GridViewRow row = (GridViewRow) MyButton.NamingContainer;
CheckBox ChkTest = (CheckBox) row.FindControl("ChkTest");
HidenFiekd HdfValue = (HidenField) row.FindControl("HdfValue");
if(ChkTest.Checked)
{
Console.WriteLine(HdfValues.Value);
}
}