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