gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:34:00 26 4
gpt4 key购买 nike

所以我的问题是我想向动态创建的 CheckBox 添加事件处理程序。我已经研究过其他方法来执行此操作,并决定创建一个包含我的 CheckBoxes 的动态表对我来说是最好的选择。我没有将这些复选框添加到控件树中,因为我需要手动管理 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 的问题,并对此进行了大量研究。我现在想我在添加事件处理程序时做了一些愚蠢的事情。我不确定为什么这个事件永远不会触发,但我对向控件添加事件有点陌生。我这里需要代表吗?

--罗马字

最佳答案

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

关于c# - 将事件处理程序添加到动态创建的复选框(aspx、c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com