.net .用户控件和页面的加载顺序、生命周期

我是在页面Page_Load 的时候,对用户控件进行赋值,然后用户控件再在Page_Load 对链接进行更新,结果造成了,链接一直无法正常更新,通过单步调试2个Page_Load事件,也马上找到了问题所在,原来用户控件的Page_Load 先于 控件所在页面的Page_Load 执行,所以就造成了无法对用户控件进行有效赋值。

  解决办法:把用户控件里的赋值代码写到Page_PreRender 里,问题解决。

  PS:以前在VS2003的时候,都会在“属性”-“事件”里找到很多Page_PreRender 、Page_Load、Page_Init事件,VS05 08貌似就只有Page_Load,其实只要复制Page_Load方法体的代码,把Page_Load换成对应的事件即可

Page_Load与Page_PreRender的执行顺序 

     Page_PreRender 服务器控件将要呈现给其包含的 Page 控件时发生。简单的理解为page中的控件渲染调用此事件

Page_Load 服务器控件加载到 Page 控件中时发生。加载控件时发生。

这两个执行的顺序是Load先执行,PreRender后执行。 

有用户自定义控件的加载顺序


     本页面Page_Load ->  自定义控件Page_Load  ->   本页面Page_PreRender
那么在本页面Page_Load 根本无法使用自定义控件,因为他还没有Page_Load  ,解决方案就是使用Page_PreRender!

转载于:https://www.cnblogs.com/lljinz/archive/2011/05/31/2063972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值