Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DataGrid(Asp.Net)中动态生成的复选框列的CheckedChanged事件_Asp.net_C# 2.0 - Fatal编程技术网

DataGrid(Asp.Net)中动态生成的复选框列的CheckedChanged事件

DataGrid(Asp.Net)中动态生成的复选框列的CheckedChanged事件,asp.net,c#-2.0,Asp.net,C# 2.0,我有一个带有动态生成的复选框列的datagrid(Asp.Net)。我无法为复选框生成checkedChanged事件 这是我的密码: 公共类ItemTemplate:ITemplate { //实例化复选框 void ITemplate.ein(控制容器) { 复选框=新复选框(); box.CheckedChanged+=新的EventHandler(this.OnCheckChanged); box.AutoPostBack=true; box.EnableViewState=true;

我有一个带有动态生成的复选框列的datagrid(Asp.Net)。我无法为复选框生成checkedChanged事件

这是我的密码:

公共类ItemTemplate:ITemplate { //实例化复选框 void ITemplate.ein(控制容器) { 复选框=新复选框();
box.CheckedChanged+=新的EventHandler(this.OnCheckChanged); box.AutoPostBack=true; box.EnableViewState=true; box.Text=文本; box.ID=ID; container.Controls.Add(box); }

}

这就是事件

私有void OnCheckChanged(对象发送方,事件参数e) {

}


提前感谢

如果您的复选框ID在每次回发时的设置方式不同,则在处理事件时,它们永远无法连接到事件处理程序。您的字段“id”来自哪里?

何时添加自定义列?如果有货,那就太晚了。在init上加载它。即,以下代码适用于您的代码:

protected void Page_Init(object sender, EventArgs e)
{
    ItemTemplate myTemplate = new ItemTemplate();
    myTemplate.CheckedChanged += new EventHandler(myTemplate_CheckedChanged);

    TemplateField col = new TemplateField();
    col.ItemTemplate = myTemplate;
    col.ItemStyle.Wrap = false;

    grid.Columns.Add(col);
}
protected void Page_Init(object sender, EventArgs e)
{
    ItemTemplate myTemplate = new ItemTemplate();
    myTemplate.CheckedChanged += new EventHandler(myTemplate_CheckedChanged);

    TemplateField col = new TemplateField();
    col.ItemTemplate = myTemplate;
    col.ItemStyle.Wrap = false;

    grid.Columns.Add(col);
}