1

我有一个具有多行的 GridView,在每一行上我都有一个 CheckBox 和一个 HiddenField。单击按钮时,我想检查 CheckBox 是否被选中,如果是,我想为该行获取 HiddenField 的值。每行上的每个 HiddenField 都有不同的值。用户可以检查多个 CheckBox,因此我需要能够提取每个 HiddenField 的值。

任何帮助将不胜感激。

谢谢

4

3 回答 3

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 是页面上隐藏字段控件的 ID。

于 2012-08-09T04:22:36.833 回答
0
Possible duplicates.

如何获取使用asp .net检查的gridview中的CheckBoxes值

获取gridview(Asp.net)c#中选定复选框的ID

如何在选中复选框的gridview中获取值?

上述链接中的答案之一:

foreach(Gridviewrow gvr in Gridview1.Rows)
{
 if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true)
 {

   //Get hidden field value here.
 }
}
于 2012-08-09T04:15:58.457 回答
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);
    }
}
于 2012-08-09T04:22:30.483 回答