如何向以编程方式创建的复选框添加事件处理程序

时间:2013-08-12 19:04:13

标签: c# visual-studio-2010 gridview

这是我的代码,用于以编程方式添加复选框,但它不允许我添加一个事件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");
  }

2 个答案:

答案 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为你完成输入。