C# 如何获取gridview中使用asp.net选中的复选框的值

C# 如何获取gridview中使用asp.net选中的复选框的值,c#,C#,我正在使用gridview中的复选框。。。。我在第一个牢房里用。。。。当我在运行时选中复选框时,我需要获取这些值。。。但在选择或点击复选框时,它没有找到或值被视为FALSE。。。如何在asp.net后端和c#代码中编写 在页面加载时是否有任何脚本实现 有人能帮忙吗?如何填充GridView?如果您在Page_Load中执行此操作,请确保您没有在回发中执行此操作(请检查IsPostBack) chkBx变量是否为空 以下代码起作用: protected void Button1_Click

我正在使用gridview中的复选框。。。。我在第一个牢房里用。。。。当我在运行时选中复选框时,我需要获取这些值。。。但在选择或点击复选框时,它没有找到或值被视为FALSE。。。如何在asp.net后端和c#代码中编写

在页面加载时是否有任何脚本实现


有人能帮忙吗?

如何填充GridView?如果您在Page_Load中执行此操作,请确保您没有在回发中执行此操作(请检查IsPostBack)

chkBx变量是否为空

以下代码起作用:

    protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow row in GridView1.Rows)
        {
            CheckBox chk = row.Cells[0].Controls[0] as CheckBox;
            if (chk != null && chk.Checked)
            {
                // ...
            }
        }
    }
StringCollection idCollection=new StringCollection();
string strID=string.Empty;
对于(int i=0;i
有关更多详细信息,请查看此链接:


检查它

如果使用下面的行,雅各布答案将起作用。即使单元格中只有一个控件,索引也必须为1而不是0

int i = 0;
foreach (GridViewRow row in GridView1.Rows)
{
    CheckBox chk = (CheckBox)GridView_AdminTags.Rows[i].Cells[0].FindControl("chkTag");
    if (chk != null)
        if (chk.Checked)
        {
            ////.......;
        }
    i++;
}
i = 0;
CheckBox chk = row.Cells[0].Controls[1] as CheckBox;
多谢各位
山姆

不,它不工作。。。否我在页面加载时未使用回发事件。。。。我有gridview,第一个单元格作为复选框,如果我在5个复选框中单击3个复选框,那么我需要那些单击/选中复选框的相同行值在文本框中。。。。怎么样it@user3814410(Sam)已发布>如果使用下线,您的答案将有效。即使单元格中只有一个控件,索引也必须是1而不是0:
CheckBox chk=row.Cells[0]。控件[1]作为复选框这是真的吗?您的答案是否需要进行相应的编辑?欢迎来到Stackoverflow,感谢您的反馈!我在@JakobChristensen上发表了一条评论,如果有必要,答案可能会被编辑。一旦你获得了一些声誉,你就可以对任何帖子发表评论。
StringCollection idCollection = new StringCollection();
string strID = string.Empty;

for (int i = 0; i < GridView1.Rows.Count; i++)
{
   CheckBox chkDelete = (CheckBox) GridView1.Rows.Cells[0].FindControl("chkSelect");
   if (chkDelete != null)
   {
     if (chkDelete.Checked)
      {
          strID = GridView1.Rows.Cells[1].Text;
         idCollection.Add(strID);
    }
  }
} 
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
     Loadgridview();// its a correct
    }//            not Loadgridview() here if you load above error is occur
 }
int i = 0;
foreach (GridViewRow row in GridView1.Rows)
{
    CheckBox chk = (CheckBox)GridView_AdminTags.Rows[i].Cells[0].FindControl("chkTag");
    if (chk != null)
        if (chk.Checked)
        {
            ////.......;
        }
    i++;
}
i = 0;
CheckBox chk = row.Cells[0].Controls[1] as CheckBox;