我正在从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;
}
}
}
}
非常感谢。我将不胜感激任何帮助。
最佳答案
如果要在Page_Load
中绑定网格,请确保未在if(!IsPostBack){}
之外绑定网格。否则,您将松开每个checkboxe's
上的postback
,从而失去checkboxe's
的状态。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//Bind Your Grid Here
}
}