[英]Error in adding Checked Changed Event to a checkbox- which is added dynamically to a gridview in asp.net application using c#
这是我的代码
foreach (GridViewRow row in GridView1.Rows)
{
dataReader.Read();
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox cb = new CheckBox();
cb.ID = "chkbox";
if (int.Parse(dataReader[0].ToString()) == 0)
cb.Checked = false;
else
cb.Checked = true;
cb.CheckedChanged += new EventHandler(chkBoxChange);
row.Cells[4].Controls.Add(cb);
}
}
但是即使我写过:
cb.CheckedChanged += new EventHandler(chkBoxChange);
功能
public void chkBoxChange(object sender, EventArgs e)
{
}
我选中CheckBox时未调用。
您可以在GridView的OnRowCreated
和OnRowDataBound
事件中使用以下代码。
这种方法将成功调用动态创建的CheckBox的CheckedChanged
事件。
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox cb = e.Row.Cells[4].FindControl("chkbox") as CheckBox;
if (cb == null)
{
cb = new CheckBox();
cb.ID = "chkbox";
cb.AutoPostBack = true;
cb.CheckedChanged += new EventHandler(chkBoxChange);
e.Row.Cells[4].Controls.Add(cb);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.