这是我的代码,用于以编程方式添加复选框,但它不允许我添加一个事件onchecked
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
CheckBox chk = new CheckBox();
chk.EnableViewState = true;
chk.Enabled = true;
chk.ID = "chkb";
DataRowView dr = (DataRowView)e.Row.DataItem;
e.Row.Cells[0].Controls.Add(chk);
e.Row.TableSection = TableRowSection.TableBody;
}
当我尝试添加此内容时:
chk.CheckedChanged += checkBox_CheckedChanged;
I get this error :
"The name 'checkBox_CheckedChanged' does not exist in the current context",
即使我已添加此功能:
private void CheckBox_CheckedChanged(object sender, System.EventArgs e)
{
Response.Write("in check changed object");
}
答案 0 :(得分:4)
C#区分大小写。您的函数名为CheckBox_CheckedChanged
,但您正在尝试为名为checkBox_CheckedChanged
的函数附加事件处理程序(请注意开头的大写与小写“c”。)
答案 1 :(得分:4)
C#区分大小写。
您应该创建此方法:
private void checkBox_CheckedChanged(object sender, System.EventArgs e)
{
Response.Write("in check changed object");
}
或者,使用您的方法并将其连接起来:
chk.CheckedChanged += CheckBox_CheckedChanged;
避免这类错误的一个好方法是首先实现处理程序(或者至少定义它),然后让de IDE为你完成输入。