我有一个GridView,它有多行,每行都有一个CheckBox和一个HiddenField。在按钮单击时,我想检查CheckBox是否被选中,如果是,我想要获取该行的HiddenField的值。每行上的每个HiddenField都有不同的值。用户可以检查多个CheckBox,因此我需要能够提取每个HiddenField的值。
任何帮助都会非常感激。
谢谢
答案 0 :(得分:1)
循环遍历网格中的每一行,检查是否选中了复选框,如果是,请抓取隐藏字段的值。
foreach (GridViewRow row in grdView.Rows)
{
if((row.FindControl("chkBoxId") as CheckBox).Checked)
{
string hiddenFieldValue = (row.FindControl("hiddenFieldId") as HiddenField).Value;
}
}
其中chkBoxId是页面上复选框的ID属性,hiddenFieldId是页面上hiddenfield控件的ID。
答案 1 :(得分:0)
Possible duplicates.
How to get values of CheckBoxes inside a gridview that are checked using asp .net
Get the id of selected checkboxes in gridview (Asp.net) c#
How to get the value in the gridview which the checkbox is checked?
上述链接中的答案之一:
foreach(Gridviewrow gvr in Gridview1.Rows)
{
if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true)
{
//Get hidden field value here.
}
}
答案 2 :(得分:0)
您可以使用以下代码:
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);
}
}