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

  今天更新了一个新功能,当选题关系建立后,学生在查看“任务书”、“开题报告”等文档,或者老师在查看某个学生的文档,可以通过一个“快速短消息链接”给对方发送短消息,方便师生间的交流,也强化了站点的短消息功能。

  我把改功能封装在了一个“用户控件“里。所以、、碰到了执行顺序的问题。

  我是在页面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换成对应的事件即可,如:

代码
        private void Page_PreRender(object sender, EventArgs e) 
        {
            
        
     }

 

 

posted @ 2009-12-01 11:29  手的预言  阅读(926)  评论(1)    收藏  举报