选中CheckBox时如何在GridView中获取隐藏字段的值?

时间:2012-08-09 03:57:24

标签: c# asp.net .net checkbox

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

任何帮助都会非常感激。

谢谢

3 个答案:

答案 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);
    }
}