是否有任何类型的事件可以允许预加载回发事件。
我问的原因是我有一个控件,它会在回发事件中为它添加兄弟控件,但是,当它加载帖子时它已经太晚了,无法将新控件添加到控件集合中。因此,控件永远不会正确更新。
谢谢!
答案 0 :(得分:1)
尝试Init事件。
答案 1 :(得分:0)
覆盖CreateChildControls
(确保调用base!)。在回发事件处理程序中,确保存储应该动态创建的控件列表,因此在下一轮操作的生命周期的早期调用CreateChildControls
时,它将重新创建构建的控件最后一次回发。
答案 2 :(得分:0)
这是一个快速的黑客攻击。您始终可以在init中查询__EventTarget和/或提交按钮的值,并可以动态加载控件。
但这样做可能不合适,因为您的控制层次结构会发生变化并可能导致问题。
答案 3 :(得分:0)
如上所述,必须在页面Init事件期间添加动态控件,以便可以在页面的Viewstate中正确处理它们。您可能还希望关闭页面的Viewstate,因为如果控件发生更改,它可能会向您发送错误。
答案 4 :(得分:0)
答案 5 :(得分:0)
如前所述,添加动态控件的正确位置是在Init事件中。 这是一篇包含更多信息的文章。
Dynamic Web Controls, Postbacks, and View State
要更好地了解ASP .NET页面生命周期,请参阅: