供求信息网(14)

 

除了开头的@Master指令和一个或多个ContentPlaceHolder服务器控件外,母版页类似于普通的ASP.NET页。ContentPlaceHolder控件在母版页中定义一个可以在派生页中进行定制的区域。

% 注意:ContentPlaceHolder控件只能在母版页中使用。如果在平常的Web网页发现这样一个控件,则会发生一个解析器错误。

? 内容页。

内容页与普通页基本相同。内容页主要包含页面中的非公共内容,每个内容页定义一个特定的ASP.NET页上每个区域的内容。通过创建各个内容页来定义母版页的占位符控件的内容,这些内容页为绑定到特定母版页的ASP.NET页(.aspx文件以及可选的代码隐藏文件)。内容页的关键部分是Content控件,它是其他控件的容器。Content控件只能与对应的ContentPalceHolder控件结合使用,不是一个独立的控件。

% 注意:内容页(即绑定到一个母版页的网页)是一种特殊的网页类型,它只能包含<asp:Content>控件。另外,它不允许在<asp:Content>标签外部提供服务器控件。

3.母版页的配置

在ASP.NET 3.5中,母版页的配置有3种级别,即页面指令级、应用程序级、文件夹级。

? 页面指令级。

内容页通过@Page指令的MasterPageFile属性绑定到母版页,代码如下:

<%@ Page Language="C#" MasterPageFile="MasterPage.master"%>

? 应用程序级。

应用程序级绑定可以指定应用程序中的所有网页绑定到相同的母版页。通过设置主要的Web.config配置文件的<Pages>元素的Master属性,配置这种行为的代码如下:

<configuration>

<system.Web>

<pages master=” MasterPage.master”

</system.Web>

</configuration>

? 文件夹级。

类似于应用程序级的绑定,不同的是只需在一个文件夹的Web.config文件中进行设置,然后母版页绑定便会应用于该文件夹中的全部ASP.NET页。

4.创建母版页

在ASP.NET 2.0中,除了具有辨识意义的@Master指令外,母版页与标准的ASP.NET页基本类似,唯一的重要区别就是ContentPlaceHolder服务器控件。但母版页中包含的是页面的公共部分,因此在创建母版页之前,必须判断哪些内容是页面的公共部分。

使用Visual Studio 2008创建母版页,具体操作步骤如下。

(1)打开Visual Stuido 2008,新建一个ASP.NET网站,编程语言采用C#。

(2)在Visual Stuido 2008环境菜单栏中选择“网站”/“添加新项”命令,或在右击弹出的快捷菜单中选择“添加新项”命令,打开“添加新项”对话框,如图1.22所示。在“模板”列表框中选择“母版页”选项,在“名称”文本框中将其命名为MasterPage.master。

(3)单击“添加”按钮,“母版页”即添加到解决方案资源管理器中,如图1.23所示。

(4)本网站设计后的“母版页”如图1.24所示。

% 注意:图1.24中ContentPlaceHolder部分称为占位符,具体在页面上显示什么内容,则由内容页来决定。

5.创建内容页

在创建完母版页之后,创建内容页。内容页的创建与母版页的创建类似,具体步骤如下。

(1)在Visual Stuido 2008环境菜单栏中选择“网站”/“添加新项”命令,或在右击弹出的快捷菜单中选择“添加新项”命令,打开“添加新项”对话框,如图1.25所示。在“模板”列表框中选择“Web窗体”选项,在“名称”文本框中将其命名为Default.aspx,同时选中“将代码放在单独的文件中”和“选择母版页”复选框。

注意:(1)内容页与普通.aspx页面的扩展名相同。

(2)选中“将代码放在单独的文件中”和“选择母版页”复选框可以将内容页与母版页绑定。

(2)单击“添加”按钮,打开“选择母版页”对话框,如图1.26所示。在该对话框中选择上面创建的母版页,单击“添加”按钮,就可以创建一个新的内容页。

(3)通过“母版页”生成的页面如图1.27所示。

注意:(1)内容页中可以有多个Content服务器控件,但内容页里的Content服务器控件的

ContentPlaceHolderID属性值必须与母版页中的ContentPlaceHolder服务器控件的ID属性匹配。

(2)由于母版页里定义了页面的标题title元素,不同的内容页显示的标题可能不同,此时需要在内容页中设置页面的标题,可以通过设置页面指令的Title属性定义。

(3)与母版页一样,Visual Studio 2008支持对于内容页的可视化编辑,并且这种支持是建立在只读显示母版页内容基础上的。在编辑状态下,可以查看母版页和内容页组合后的页面外观,但是,母版页内容是只读的(呈灰色部分),不可被编辑,而内容页则可以进行编辑。如果需要修改母版页内容,则必须打开母版页。

 

读书导航