Asp.Net母版页和内容页运行机制

Asp.Net母版页和内容页运行机制

来自森大科技官方博客  http://www.cnsendblog.com/index.php/?p=96

从上面的讲解中可以看出,单独的母版页是不能被用户所访问的。没有内容页支持,母版页仅仅是一个页面模板,没有更多的实用价值。同样道理,单独的内容页没有母版页的支持,也不能够应用。这两者是不可分割的,只有同时正确创建和使用母版页及内容页,才能发挥它们的强大功能。为了便于读者理解,有必要讲解一下母版页与内容页的运行机制。

母版页和内容页的运行过程可以概括为以下5个步骤。

用户通过输入内容页的URL来请求某内容页。

获取内容页位置后,读取内容页@ Page指令。如果该指令引用一个母版页,则读取该母版页。

读取母版页后,编译母版页,将母版页载入内容页的控件树中。

将各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。

呈现得到结果页。

这一过程可由图7-9来表示。

 (点击查看大图)图7-9 母版页和内容页运行机制

对访问者来说,他访问的URL路径就是内容页,但呈现的结果是母版页和内容页合并而成的一个完整页面。对开发者来说,只要做一个母版页,就可以让任意个内容页加载该母版页,而实现这一技术的关键是让母版页的ContentPlaceHolder控件与内容页的Content控件一一对应。

母版页与ASP.NET 1.1下用户控件的作用方式大致相同,即作为内容页的一个子级,并作为该页中的一个容器。

总结起来,母版页具有以下4个优点。

有利于站点的修改和维护,降低开发人员的工作强度。

由于公共内容被集中于母版页中,因此,只要修改母版页,就可以快速完成站点修改和维护工作,这在很大程度上提高了工作效率。

提供高效的内容整合能力。

在母版页中,允许添加文字、控件等Web元素,同时也可以为这些Web元素添加相应事件处理程序等。例如,只需要在母版页中添加一个服务器控件及其事件处理程序,站点内所有引用该母版页的网页,都将获得同样的应用效果。

有利于实现页面布局。

母版页中的ContentPlaceHolder控件起到了占位的作用,这在很大程度上有利于进行页面布局的工作。

提供一种便于利用的对象模型。

由内容页和母版页组成的对象模型能够为应用程序提供一种高效、易用的实现方式,并且这种对象模型的执行效率较以前的处理方式有了很大提高。

 

posted on 2018-11-08 22:18  森大科技  阅读(1541)  评论(0编辑  收藏  举报

导航