加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:38:44 所属栏目:asp.Net 来源:网络整理
导读:当使用LoadControl(字符串路径)以编程方式添加用户控件时,在用户控件的页面生命周期中,何时使用其viewstate初始化其子控件? 我问的是这个问题,因为我的一个用户控件正在以编程方式加载有一个TextBox控件,它没有被它在PageLoad事件上的PostBack上的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事件的描述特别提到它是“创建或重新创建动态控件”的地方.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读