《 ASPNET数据库网站设计教程(C#版)》 配套教学资源 第10章站点导航和母版页 10.2 本章内容: ASPNET站点导航, ASPNET母版页 本章重点: ASPNEt站点导航( SiteMapPath控件、 SiteMapDataSource控件、 Tree View 控件、Menu控件), ASPNET母版页 圖王出妖社
第10章 站点导航和母版页 10.2 《ASP.NET数据库网站设计教程(C#版)》 配套教学资源 本章内容:ASP.NET站点导航,ASP.NET母版页。 本章重点:ASP.NET站点导航(SiteMapPath控件、SiteMapDataSource控件、TreeView 控件、Menu控件),ASP.NET母版页
102 ASPNET母版页 1021概述 ■1.母版页的工作原理 母版页由两部分组成,即母版页本身与一个或多个内容页 1)母版页 母版页中定义了页面的组成元素,是提供结构和内容的模 板。它可以包含静态文本和控件的任何组合。母版页还可 以包含一个或多个内容占位符,这些占位符用于指定显示 页面时动态内容出现的位置 ■母版页是扩展名为 master的 ASP.NET文件,它具有可以包 括静态文本、HTM元素和服务器控件的预定义布局。母 版页由@ Master指令识别,该指令替换了用于普通aspx页 的@Page指令
◼ 10.2.1 概述 ◼ 1.母版页的工作原理 ◼ 母版页由两部分组成,即母版页本身与一个或多个内容页 。 ◼ (1)母版页 ◼ 母版页中定义了页面的组成元素,是提供结构和内容的模 板。它可以包含静态文本和控件的任何组合。母版页还可 以包含一个或多个内容占位符,这些占位符用于指定显示 页面时动态内容出现的位置。 ◼ 母版页是扩展名为.master的ASP.NET文件,它具有可以包 括静态文本、HTML元素和服务器控件的预定义布局。母 版页由@ Master指令识别,该指令替换了用于普通.aspx页 的@ Page指令。 10.2 ASP.NET母版页
Master指令可以包含的指令与@ Control指令可以包含的 指令大多数是相同的。例如,下面的母版页指令包含一个 代码隐藏文件的名称并将一个类名称分配给母版页 o(@ Master Language=C# Codefile=MasterPage master. cs"Inherits="MasterPage%o 除 @ Master指令外,母版页还包含页的所有顶级HM元 素,如html、head和form。例如,在母版页中,可以将 个TM表用于布局,将一个img元素用于公司徽标,将 段静态文本用于版权声明,并使用服务器控件创建站点的 标准导航。可以在母版页中使用任何HTM元素和 ASPNET元素
◼ @ Master指令可以包含的指令与@ Control指令可以包含的 指令大多数是相同的。例如,下面的母版页指令包含一个 代码隐藏文件的名称并将一个类名称分配给母版页。 ◼ ◼ 除@ Master指令外,母版页还包含页的所有顶级HTML元 素,如html、head和form。例如,在母版页中,可以将一 个HTML表用于布局,将一个img元素用于公司徽标,将一 段静态文本用于版权声明,并使用服务器控件创建站点的 标准导航。可以在母版页中使用任何HTML元素和 ASP.NET元素
2)可替换内容占位符 母版页上除显示的静态文本和控件外,还包含一个或多个 占位符 ContentPlaceholder控件。这些占位符控件用于定义 可替换内容将会出现的区域,以便在内容页中定义可替换 内容 (3)内容页 内容页是一个专用的 ASPNET页,它仅包含要与母版页合 并的内容。内容页将使用母版页的内容占位符,然后在内 容页的内容占位符中添加用户请求该页面时要显示的文本 和控件
◼ (2)可替换内容占位符 ◼ 母版页上除显示的静态文本和控件外,还包含一个或多个 占位符ContentPlaceHolder控件。这些占位符控件用于定义 可替换内容将会出现的区域,以便在内容页中定义可替换 内容。 ◼ (3)内容页 ◼ 内容页是一个专用的ASP.NET页,它仅包含要与母版页合 并的内容。内容页将使用母版页的内容占位符,然后在内 容页的内容占位符中添加用户请求该页面时要显示的文本 和控件
通过创建各个内容页来定义母版页的占位符控件的内容, 这些内容页为绑定到特定母版页的 ASP. NET页(.asgx文件 以及可选的代码隐藏文件)。通过包含指向要使用的母版 页的 MasterPagefile属性,在内容页的@Page指令中建立绑 定。例如,一个内容页可能包含下面的@Page指令,该指 令将该内容页绑定到 Master1 master页上 Page Language=C# MasterPageFile=c/Master Pages/Master1master Title=Content page9/0>
◼ 通过创建各个内容页来定义母版页的占位符控件的内容, 这些内容页为绑定到特定母版页的ASP.NET页(.aspx文件 以及可选的代码隐藏文件)。通过包含指向要使用的母版 页的MasterPageFile属性,在内容页的@ Page指令中建立绑 定。例如,一个内容页可能包含下面的@ Page指令,该指 令将该内容页绑定到Master1.master页上: ◼
限定母版页的范围 可以分为3种级别将内容页附加到母版页中 ■①页级。可以在每个内容页中使用页指令来将内容页绑定到一个母版 页上,代码如下 a ②应用程序级。通过在应用程序的配置文件( web. config)的 pages元 素中进行设置,可以指定应用程序中的所有 ASPNET页(aspx文件) 都自动绑定到一个母版页上。该元素可能这样: pages MasterPage File="MySite. Master"/> 如果使用此策略,则应用程序中的所有具有 Content控件的 ASP. NET页 都将与指定的母版页合并(如果某个 ASPNET页不包含 Content控件, 则不应使用该母版页) ■③文件夹级。此策略类似于应用程序级的绑定,不同的是,只需要在 个文件夹下的 web. config文件中进行设置,然后母版页绑定会应用于 该文件夹下的 ASPNET页
◼ 2.限定母版页的范围 ◼ 可以分为3种级别将内容页附加到母版页中。 ◼ ① 页级。可以在每个内容页中使用页指令来将内容页绑定到一个母版 页上,代码如下: ◼ ◼ ② 应用程序级。通过在应用程序的配置文件(web.config)的pages元 素中进行设置,可以指定应用程序中的所有ASP.NET页(.aspx文件) 都自动绑定到一个母版页上。该元素可能这样: ◼ ◼ 如果使用此策略,则应用程序中的所有具有Content控件的ASP.NET页 都将与指定的母版页合并(如果某个ASP.NET页不包含Content控件, 则不应使用该母版页)。 ◼ ③ 文件夹级。此策略类似于应用程序级的绑定,不同的是,只需要在 一个文件夹下的web.config文件中进行设置,然后母版页绑定会应用于 该文件夹下的ASP.NET页
1022使用 ASP. NET母版页的实例 【演练104】创建一个母版页 lomeMasterPage. master和两 个内容页( Home. aspx、 About. aspx),显示的两个网页分 别如图10-20和图10-21所示。 嘴光科技大学 光科技大学 诗污无料目人 区访 私阿站是循光科大学方网站 wnc果拉大?Aa Cade料拉太学AB 图10-20主页 图10-21学校概况页
◼ 10.2.2 使用ASP.NET母版页的实例 ◼ 【演练10-4】 创建一个母版页HomeMasterPage.master和两 个内容页(Home.aspx、About.aspx),显示的两个网页分 别如图10-20和图10-21所示