为动态创建的复选框添加事件处理程序(aspx, c#)

本文关键字:aspx 程序 事件处理 创建 动态 复选框 添加 | 更新日期: 2023-09-27 18:13:18

所以我的问题是,我想添加一个事件处理程序到一个动态创建的CheckBox。我已经看过其他的方法来做到这一点,并决定创建一个动态表,其中包含我的复选框是最好的选择。我没有将这些复选框添加到控制树中,因为我需要手动管理ViewState。无论哪种方式,我的代码都可以工作,除了我的CheckBox的CheckChanged事件不触发。我将这个事件处理程序添加到我的CheckBox在我的pageLoad事件,然而,任何页面事件,我尝试似乎给我相同的结果:

CheckBox chbxLv1 = new CheckBox();
chbxLv1.ID = "DymanicallyCreatedIDForIdentification";
chbxLv1.AutoPostBack = true;
chbxLv1.CheckedChanged += new EventHandler(this.checkChanged);
/* Way lower in my code */
protected void checkChanged(object sender, EventArgs e)
{
//Some code goes here which never seems to execute... grrr
}

我认为这可能是一个问题与ViewState在一开始,并做了相当多的研究。我现在认为我正在做一些愚蠢的添加事件处理程序。我不确定为什么这个事件永远不会触发,但我对向控件添加事件有点陌生。这里需要委托吗?

——罗马

为动态创建的复选框添加事件处理程序(aspx, c#)

为了使动态加载的控件在ASP. js过程中得到正确的处理。. NET页面生命周期,他们需要在OnInit期间添加到页面(或之前的LoadViewState,真的),否则他们的状态信息将不会被维护,你可以,事实上,破坏视图状态取决于如何/在哪里添加的东西在页面的控制图。