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

ASP.NET:Viewstate并以编程方式添加用户控件

当使用LoadControl(字符串路径)以编程方式添加用户控件时,在用户控件的页面生命周期中,何时使用其viewstate初始化其子控件?

我问的是这个问题,因为我的一个用户控件正在以编程方式加载有一个TextBox控件,它没有被它在PageLoad事件上的PostBack上的viewstate初始化/加载(对于常规.aspx页面不是这种情况,因此我的困惑).总的来说,我需要从TextBox控件中检索值.

谢谢

解决方法

ViewState在Page_Load事件之前加载.如果您希望控件与ViewState一起使用,则需要加载它并在该事件之前将其添加页面 – 通常在PreInit上.

生命周期参考在这里
http://msdn.microsoft.com/en-us/library/ms178472.aspx?ppud=4

阅读Pre Load事件的描述,该事件紧接在Page Load之前:

Use this event if you need to perform processing on your page or control before the Load event.

Before the Page instance raises this event,it loads view state for itself and all controls, and then processes any postback data included with the Request instance.

因此,通过预加载时间已经太晚了.此外,PreInit事件的描述特别提到它是“创建或重新创建动态控件”的地方.

原文地址:https://www.jb51.cc/aspnet/248929.html

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

相关推荐