打印本文 打印本文 关闭窗口 关闭窗口
ASP.NET 母版页概述
作者:武汉SEO闵涛  文章来源:敏韬网  点击数896  更新时间:2009/4/23 10:51:34  文章录入:mintao  责任编辑:mintao
ASP.NET 母版页概述

使用 ASP.NET 母版页可以为应用程序中的页创建一致的布局。单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示的内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并以将母版页的布局与内容页的内容组合在一起输出。

母版页为具有扩展名 .master(如 MySite.master)的 ASP.NET 文件,它具有可以包括静态文本、HTML 元素和服务器控件的预定义布局。母版页由特殊的 @ Master 指令识别,该指令替换了用于普通 .aspx 页的 @ Page 指令。该指令类看起来类似下面这样。
<%@ Master Language="C#" %>

除会在所有页上显示的静态文本和控件外,母版页还包括一个或多个 ContentPlaceHolder 控件。这些占位符控件定义可替换内容出现的区域。接着在内容页中定义可替换内容。

内容页
通过创建各个内容页来定义母版页的占位符控件的内容,这些内容页为绑定到特定母版页的 ASP.NET 页(.aspx 文件以及可选的代码隐藏文件)。通过包含指向要使用的母版页的 MasterPageFile 属性,在内容页的 @ Page 指令中建立绑定。例如,一个内容页可能包含下面的 @ Page 指令,该指令将该内容页绑定到 Master1.master 页。在内容页中,通过添加 Content 控件并将这些控件映射到母版页上的 ContentPlaceHolder 控件来创建内容。

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>

    Main content.

母版页中创建为 ContentPlaceHolder 控件的区域在新的内容页中显示为 Content 控件。

显示剩下的母版页内容,以便您查看布局,但这些内容显示为浅灰色,因为您在编辑内容页时不能更改这些内容。

母版页具有下面的优点:
1.使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新。
2.使用母版页可以方便地创建一组控件和代码,并将结果应用于一组页。例如,可以在母版页上使用控件来创建一个应用于所有页的菜单。
3.通过允许控制占位符控件的呈现方式,母版页使您可以在细节上控制最终页的布局。
4.母版页提供一个对象模型,使用该对象模型可以从各个内容页自定义母版页。

母版页的运行时行为
在运行时,母版页是按照下面的步骤处理的:  

1.用户通过键入内容页的 URL 来请求某页。
2.获取该页后,读取 @ Page 指令。如果该指令引用一个母版页,则也读取该母版页。如果这是第一次请求这两个页,则两个页都要进行编译。
3.包含更新的内容的母版页合并到内容页的控件树中。
4.各个 Content 控件的内容合并到母版页中相应的 ContentPlaceHolder 控件中。
5.浏览器中呈现得到的合并页。

打印本文 打印本文 关闭窗口 关闭窗口