你知道在 PreRender 事件中向页面添加控件有什么缺点吗?请不要回答“取决于你的情况”,我是在一般情况下讨论 :-)
PreRender
事件发生在控件事件之后,因此控件不能使用任何事件。
例如,在Page_PreRender
中添加Button
时,如果要为其挂钩Click
事件处理程序,则为时已晚。在postack中,按钮直到处理(并忽略)单击事件之后才会重新创建。
是的,有关ASP.NET的生命周期,请参阅此链接:
http://msdn.microsoft.com/zh-cn/library/ms178472.aspx
我建议在Init
事件中添加控件,否则新控件将在任何Postbacks上被清除。这符合https://web.archive.org/web/20210330142645/http://www.4guysfromrolla.com/articles/092904-1.aspx的要求。
“在所有控件初始化并应用任何皮肤设置后引发。使用此事件读取或初始化控件属性。”