说明:
① 母版页在页面定义部分把.aspx页面中的@Page替换成了@Master。
② 代码中的部分称为占位符,在母版页中,可以根据需要,设置多个占位符。具体在页面上显示什么内容,则由内容页来决定。
内容页主要包含页面非公共部分,是由代码头和Content控件组成的。Content控件中包含着页面的非公共内容。与母版页相关联的内容页源代码如下:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="True" CodeFile="Default. aspx.cs" Inherits="_Default" Title="Untitled Page" %>
说明:
① 内容页的声明部分指明要调用的母版页,并且去掉页面的顶级元素,如html、body等元素。
② 必须包含Content服务器控件,通过该控件的ContentPlaceHolderID属性来与母版页中的ContentPlaceHolder服务器控件相关联。
③ 内容页中可以有多个Content服务器控件,其中内容页里的Content服务器控件的ContentPlaceHolderID属性值必须与母版页中的ContentPlaceHolderID服务器控件的ID属性匹配,否则会出错。
从母版页的运行过程说明两者的相互关系。
当客户端浏览器向服务器发出请求,要求浏览页面时,ASP.NET 2.0执行引擎将执行内容页和母版页的代码,并将最终结果发送给客户端浏览器,其运行过程可以概括为以下5个步骤。
① 用户通过键入内容页的URL来请求某页。
② 获取内容页后,读取@Page指令。如果该指令引用一个母版页,则也读取该母版页。如果是第一次请求这两个页,则两个页都要进行编译。
③ 母版页合并到内容页的控件树中。
④ 各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。
⑤ 呈现得到的结果页。
整个过程具有很强的逻辑性,并且母版页和内容页配合的非常巧妙。从用户角度来看,合并后的母版页和内容页是一个完整的页面,并且其URL访问路径与内容页的路径相同。从开发人员的角度来看,控件的巧妙应用和配合是实现的关键。
注意:在运行时,母版页成为了内容页的一部分。
3.母版页和内容页事件的顺序
母版页和内容页中的事件顺序对于网站开发人员并不重要。但是,如果所创建的事件处理程序取决于某些事件的可用性,那么了解母版页和内容页中的事件顺序就变得非常重要。
赞
If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
QQ:154298438
QQ:417480759