我在checkbox
中使用gridview
列,该列是从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;
}
}
}
}
这是按钮的操作循环遍历所有行&#39;复选框:
{{1}}
提前多多感谢。我非常感谢任何帮助。
答案 0 :(得分:5)
如果要在Page_Load
中绑定网格,请确保不在if(!IsPostBack){}
之外绑定网格。否则,您将失去每个checkboxe's
上的postback
,从而失去checkboxe's
的状态。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//Bind Your Grid Here
}
}