Asp .net MasterPageFile母版页

转载地址:http://blog.163.com/magic_shan/blog/static/248014312008111994153714/

MasterPageFile母版页

本来想用最简洁的语言来表述,却发现把它搞得更复杂了。

刚开始学,什么都不懂,看到了这段代码,才促使自己去研究MasterPageFile到底是什么含义。

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

MasterPageFile其实是定义一个了外围的框架的页面,并且在里面设定了具体内容存放的位置。举例来说,MasterPageFile

就相当于相框的功能。网站的真正具体页面实际是由MasterPageFile(相框)和内容页面(照片)组成。

最常见的应用就是网站的顶部导航栏和底部的CopyRight声明栏。可以把顶部导航栏和底部的CopyRight声明栏都放到MasterPageFile里,然后声明中间是放内容页面的。 这样网站的的每个页面都有统一的顶部导航栏和底部的CopyRight声明栏,只是中间的内容页面不同而已。

母版页为具有扩展名 .master(如 Main.master)的 ASP.NET 文件,由特殊的 @ Master 指令识别如下:

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

Visual Web Developer

如何:为 ASP.NET 母版页创建内容页 (Visual Studio)

内容页是与母版页相关联的 ASP.NET 网页。母版页建立一个布局并包含一个或多个用于可替换文本和控件的 ContentPlaceHolder 控件。内容页只包含在运行时与母版页的 ContentPlaceHolder 控件合并在一起的文本和控件。有关更多信息,请参见 ASP.NET 母版页概述。

Visual Web Developer 提供了多种创建内容页的方式,包括在编辑母版页时所用到的快捷方式。此外,还可以从空白页开始并添加适当的指令来创建内容页。

在创建内容页后,可以创建与母版页上的每个 ContentPlaceHolder 相对应的自定义内容。此外,还可以显式选择允许显示母版页的默认内容。

在 Visual Web Developer 中添加内容页

  1. 在解决方案资源管理器中,右键单击网站的名称,再单击“添加新项”。

  2. 在“Visual Studio 已安装的模板”列表中单击“Web 窗体”。

  3. 选择“选择母版页”复选框,再单击“添加”。

    “选择母版页”对话框出现。

  4. 在“文件夹内容”框中单击要与所创建的页相关联的母版页,再单击“确定”。

在编辑母版页时创建内容页

  • 在编辑器中打开母版页后,右键单击该页上的任意位置,再单击“添加内容页”。

    Visual Web Developer 随即会创建一个名为 Defaultx.aspx 的新内容页,其中 x 是序列号。

    注意

    若要向该内容页指定其他名称,请在解决方案资源管理器中右键单击该默认名称,然后单击“重命名”。

以声明方式创建内容页

  1. 创建一个新的 ASP.NET 网页。

  2. 切换到“源”视图。

  3. 移除该页中除 @ Page 指令之外的所有内容。

  4. 将引用母版页的 MasterPageFile 属性添加到 @ Page 指令中,如下面的代码示例所示。

    Visual Basic

    MasterPageFile母版页 - BLEACH - BLEACH 复制代码

    <%@ Page Language="VB" MasterPageFile="~/Master1.master" %>

    C#

    MasterPageFile母版页 - BLEACH - BLEACH 复制代码

    <%@ Page Language="C#" MasterPageFile="~/Master1.master" %>

    注意

    @ Page 指令可能包含其他属性,如 CodeFile 和 Inherits,此处未显示这些属性。

  5. 将与母版页上的 ContentPlaceHolder 控件相对应的 Content 控件添加到该页上。

    注意

    内容页只能包含 @ Page 指令和 Content 控件。

在 HTML 设计器中创建内容

当在 Visual Web Developer 中创建内容页时,默认情况下该设计器为母版页中定义的每个 ContentPlaceHolder 控件分别创建一个 Content 控件。可以将自定义内容添加到每个 Content 控件中或将其显式转换为母版页中定义的默认内容(如果有的话)。

在“设计”视图中向该页添加内容

  • 在“设计”视图中,将控件或元素拖到 Content 控件上或单击该控件并开始键入内容。

在“设计”视图中显示默认母版页内容

  1. 右键单击 Content 控件,再单击“显示智能标记”。

  2. 单击“默认为母版页的内容”。

    Visual Web Developer 随即显示包含母版页中定义的默认内容的 Content 控件。Content 控件的标题栏包含“(母版页)”术语以指示该控件显示的是母版页而不是内容页的信息。

    在此模式下,不能编辑 Content 控件中显示的内容。

  3. 若要创建自定义内容,请右键单击该控件,单击“显示智能标记”,再单击“创建自定义控件”以将控件重新置于编辑模式下。

    该设计器会从内容页的标记中移除 Content 控件。

    注意

    内容页中需要 Content 控件只是为了重写母版页中的相应 ContentPlaceHolder 控件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值