我很确定在 ASP.NET 1.0/1.1 时代,在运行时创建的控件需要在页面生命周期Page_Load
事件之前添加(即 inside )。Page_Init
这是 Microsoft 的一篇文章(适用于 .NET 1.0/1.1):
如何:在 ASP.NET 中动态创建控件:
注意 在 Web 窗体上创建动态控件时,必须创建控件并将它们添加到 Page_Init 事件处理程序或 Page_Load 事件处理程序中的控件集合中。否则,控件可能无法按预期运行。
但是,在这里的一些帖子中,似乎不再是上述情况了。在其中添加的控件Page_Load
似乎对其他人有用。一些帖子包括:
在 asp.net Viewstate 中创建动态控件
- 完全混乱。
我自己试过了,虽然我没有做足够的测试来找出任何意外的行为,但它确实有效。
那么Page_Load
添加动态控件是一个安全的阶段吗?还是仅适用于 .NET 2.0 及更高版本?