在ASP.NET中创建动态控件的最佳位置在哪里? MSDN说Pre_init,另一个MSDN article说Init,some people说Load事件(我读的不好)。
我正在攻读MS认证,我想确保知道哪一个是理想的,为什么。我最初的想法是在pre_init中创建对象并在Load事件中分配任何属性值(以便为动态控件加载ViewState)。
答案 0 :(得分:4)
我推荐Page_Init()。这将绕过ViewState不一致加载的问题。控件可以访问,但viewstate尚未应用于它们。这正是您希望根据第二篇文章添加控件的位置。
另外,根据经验,这是有效的。其他任何方法都给我带来了问题。
答案 1 :(得分:4)
这取决于但我认为普遍的共识是越早越好。因此,如果要向页面添加动态控件,则可以在Pre_Init阶段添加它们。如果要向用户控件添加自定义控件,则可以在Init阶段添加它们(控件没有Pre_Init)。
有些情况下,您无法尽早添加它们。
作为一般经验法则,请尽快添加它们。