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


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

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

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

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

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

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

呈现得到结果页 。

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

图7-9 母版页和内容页运行机制

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

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

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

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

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

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

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

有利于实现页面布局 。

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

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

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

以上所述是小编给大家介绍的Asp.Net母版页和内容页运行机制,希望对大家有所帮助,也希望大家多多支持脚本之家 。

您可能感兴趣的文章:

  • 浅谈Asp.Net母版页的相关知识
  • asp.net母版页如何使用
  • ASP.NET母版页基础知识介绍
  • ASP.Net巧用窗体母版页实例
  • ASP.NET下母版页和内容页中的事件发生顺序整理