Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 1:38:14
asp.net2.0母版页的概述

asp.net2.0母版页的概述

母版页的概述

ASP.NET 2.0提供的母版页为提高工作效率、降低开发和维护强度提供了有力支持。本节将从以下几个方面来介绍母版页。

1.母版页和内容页的概念

母版页能够为ASP.NET 2.0应用程序创建统一的用户界面和样式,在实现网站一致性的过程中,必须包含两种文件:一种是母版页,另一种是内容页。母版页后缀名是.master,用来封装页面中的公共元素。内容页实际是普通的.aspx文件,它包含除母版页之外的其他非公共内容。在运行过程中,ASP.NET 2.0引擎将两种页面内容合并执行,最后将结果发送给客户端浏览器。

2.母版页运行机制

单独母版页是不能被用户访问的。没有内容页支持,母版页仅仅是一个页面模板,没有实用价值。同样道理,单独的内容页没有母版页支持,也不能够应用。由此可见,母版页与内容页关系密切,是不可分割的两个部分。只有同时正确创建和使用母版页以及内容页,才能发挥它们的强大功能。下面从代码结构和母版页的运行过程两个方面说明母版页和内容页的相互关系。

从代码结构方面,对母版页和内容页的相互关系进行深入说明。

母版页以页面的公共部分为主,包括代码头、ContentPlaceHolder控件以及其他常见Web元素。新创建的母版页源代码如下:

<%@ Master Language="C#" AutoEventWireup="True" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>







无标题页





















说明:

① 母版页在页面定义部分把.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