微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 在页面生命周期的PreInit事件中创建动态控件?

MSDN表示在页面生命周期的PreInit事件中创建动态控件.

http://msdn.microsoft.com/en-us/library/ms178472.aspx

为什么?

在PreInit Event中创建有什么好处?

我见过开发人员在Page_Load方法中创建动态控件的代码

如果有什么区别?

问候

解决方法

如果您不需要担心在回发中保存控件的ViewState,则Page_Load可以正常工作,但如果您需要保留它,则Load阶段不应该添加这些控件.

在加载ViewState之前,动态控件必须存在于页面的控件层次结构中.加载视图状态 – 初始化之前只有一个阶段.这意味着,如果您希望动态控件保持视图状态,则必须将它们添加页面的Init事件中的控件层次结构中.

http://aspnet.4guysfromrolla.com/demos/printPage.aspx?path=/articles/092904-1.aspx

但请注意,您无法在Init事件中访问ViewState,因为它尚未加载.因此,如果需要,您需要使用不同的持久性介质来跨回发(如Session)存储变量.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐