如何从Chechbox.checked的Gridview获取Id?
我有GridView和一个按钮如下。 然后我用我的数据库中的数据绑定gridview。 GridView有两个Id和ClassIndex的隐藏字段。 当我选择一个复选框并单击按钮时,我想获得相应的Id和FileName。
<asp:HiddenField ID="hdfId" runat ="server" Value='' /> <asp:HiddenField ID="hdfClssIndex" runat ="server" Value='' /> <asp:Label ID="lblFileName" runat ="server" Text='' />
和按钮喜欢
按钮后面的代码是
protected void Button1_Click(object sender, EventArgs e) { foreach (GridViewRow row in GridView1.Rows) { var check = row.FindControl("check") as CheckBox; if (check.Checked) { int Id = Convert.ToInt32(row.Cells[1].Text); //some logic follws here } } }
但我得到一个错误
输入字符串的格式不正确。 什么是错误以及如何解决?
你的循环正确。
但是你忘了在这里注意到一件事,当你想访问CheckBox
你row
上做了一个FindControl
。 这意味着您正试图在该行中找到一些控件。
那你为什么要用row.Cell[1].Text
访问行内的HiddenField
控件呢?
试着找到它。
int Id = Convert.ToInt32(((HiddenField)row.FindControl("hdfId")).Value);