0

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

2 回答 2

4

C# 区分大小写。您的函数名为CheckBox_CheckedChanged,但您正尝试为名为的函数附加事件处理程序checkBox_CheckedChanged(注意开头的大写与小写“c”)。

于 2013-08-12T19:06:13.717 回答
4

C# 区分大小写。

您应该创建此方法:

private void checkBox_CheckedChanged(object sender, System.EventArgs e)
{
   Response.Write("in check changed object");
}

或者,使用您的方法并像这样连接它:

chk.CheckedChanged += CheckBox_CheckedChanged;

避免此类错误的一个好方法是首先实现处理程序(或至少定义它),然后让 de IDE 为您完成输入。

于 2013-08-12T19:06:38.670 回答