加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:21:29 所属栏目:百科 来源:网络整理
导读:所以我的问题是我想为动态创建的CheckBox添加一个事件处理程序.我已经看过其他方法来做到这一点,并决定创建一个包含我的CheckBoxes的动态表是我的最佳选择.我没有将这些CheckBox添加到控制树,因为我需要手动管理ViewState.无论哪种方式,我的代码都以各种方式
所以我的问题是我想为动态创建的CheckBox添加一个事件处理程序.我已经看过其他方法来做到这一点,并决定创建一个包含我的CheckBoxes的动态表是我的最佳选择.我没有将这些CheckBox添加到控制树,因为我需要手动管理ViewState.无论哪种方式,我的代码都以各种方式工作,除了我的CheckBox的CheckChanged事件不会触发.我在pageLoad事件中将此事件处理程序添加到我的CheckBox中,但是,我尝试的任何页面事件似乎都给出了相同的结果:

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最初的一个问题,并对此进行了相当多的研究.我现在正在考虑添加一个事件处理程序,我正在做一些愚蠢的事情.我不确定为什么这个事件永远不会发生,但我在向控件添加事件方面有点新意.我需要代表吗?

–Roman

解决方法

为了在ASP.NET页面生命周期中正确处理动态加载的控件,需要在OnInit期间(或者在LoadViewState之前)将它们添加到页面中,否则它们的状态信息将无法维护,事实上你可以,根据页面控件图中添加内容的方式/位置,破坏视图状态.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读