【发布时间】:2015-02-12 16:09:34
【问题描述】:
我在gridview 中使用checkbox 列,该列是从SQL 数据库填充的。 gridview 下方的按钮应检索已检查 checkboxe's 的行的数据。当我遍历所有行checkboxe's 时,即使我在单击按钮之前已经检查了所有行,它们都没有checked==true。这是ASP.NET 代码:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkRow" runat="server" />
</ItemTemplate>
</asp:TemplateField>
这里是循环遍历所有行的复选框的按钮操作:
protected void GetSelectedRecords(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRow = (row.Cells[0].FindControl("chkRow") as CheckBox);
if (chkRow != null && chkRow.Checked) //chkRow.Checked is always "false"
{
string name = row.Cells[2].Text;
}
}
}
}
提前非常感谢。非常感谢任何帮助。
【问题讨论】:
-
试试这个:-
row.FindControl("chkRow") as CheckBox -
谢谢。我已经尝试过这个,但也没有用。
-
你能发布我的意思是包括标记的完整代码吗?一定是发生了其他事情,因为您的代码看起来不错。
-
感谢您的关注;问题已经解决了。
标签: c# asp.net gridview checkbox ispostback