母版页的加载顺序

来源:互联网 发布:javascript 打印堆栈 编辑:程序博客网 时间:2024/05/21 13:59

  转到vs2005后,由于ms的大力推荐,一般习惯使用母版页而少用框架。 
  一直以来,我都以为应用了母版的页面,在加载时首先应该是母版,然后是该页面。所以,我也喜欢把用户登录信息之类的东西在放在母版页中进行判断。
  就这样用了很久,今天忽然才发现原来我的认识是错误的。在一个应用了母版的页面中,我在page_load过程中注销了用户的登录凭证,发现就会跳到未通过验证的提示页。我这才想到,原来加载的顺序和我想像的正好相反:处理完本页的load事件后,接下来才会去处理母版的load事件。
  还有个base.load的问题。我喜欢继承System.Web.UI.Page类,重写其OnLoad事件,在其中添加一些身份验证的代码,然后让所有需要的页面去继承这个类。在重写OnLoad事件时,base.load这句是一定要有的。这句有什么作用呢,通过测试发现,它的作用就是让继承者执行其写在load中的代码,如果把它放在前面,那么继承者的代码就会先执行,然后执行自己的代码。

原创粉丝点击