母版页是用来是同一系列的网页具有抑制外观的工具,使用ASP.NET母版页可以为我们的应用程序中的页面创建一致的布局。在这种技巧中,网页被分为两类,描述一致性外观的网页称作母版页(Maste Page),引用母版页的网页我们叫做内容页(Content Page)。
主题和皮肤的运用可以使应用程序开发者能够把样式和布局信息存放到一组独立的文件之中,这组文件总称为主题(Theme)。主题可以独立于应用程序的页,为页面,包括控件等提供统一的样式设置。
主题的优点:主题可以使得我们在开发应用程序时可以先不考虑样式,在以后要进行样式应用时,也无需更新或更改代码。主题独立于Web应用程序,对它的维护极为方便。
一、母版页
母版页是ASP.NET控件中非常有特色的一类,可以通过它为整个应用程序提供统一的布局。下面我们来学习一下母版页的相关知识,通过学习掌握母版页的基本创建和使用方法,以及复杂一些的母版页的嵌套使用、母版页同主题的自动切换和调用。
1.认识母版页
首先,我们一进入母版页的学习,一定要时刻记住页面从此分为两部分,即母版页本身和使用某个母版页的内容页。
母版页可以使开发者创建统一的站点模板和指定的可编辑区域。母版页中可编缉区域或通过ContentPlaceHolder控件显示。一个母版页中可以包含一个或多个ContentPlaceHolder控件,该控件在内容页中显示为Content控件。
ContentPlaceHolder控件以外的内容在调用该母版页的页面中显示为灰色,因为在编辑内容页时不能更改这些内容。这样一来,我们在内容页中实际上只是对在母版页中所指定的可编辑区域里根据实际需要填充内容。这也就是说,内容页的内容是来源于两个部分,一个是内容页本身不可编辑的区域,这个区域在我们为内容页指定母版页时其实已经由母版页中的内容来充填了,另一部分内容是内容页自己的,他们都在母版页所划分的可编辑区域内。
打个比喻,我们的餐桌桌面就是我们的网页,那么我们现在要给桌面上摆放一些图案和元素,我们可以选择我们所喜欢的桌布铺在上面,那里面有我们喜欢的图案和元素,比如说蓝色的盒子,白色的小猫。我们把桌布挖个窟窿,这样我们在铺桌布后再往桌面上摆放东西时,其实只能是摆放在窟窿内。注意,我们规定桌布上不能摆放物品,以免弄脏桌布。
1.1 创建母版页
下面我们来具体创建一个母版页。通过创建这个简单的母版页来掌握和理解母版页的基本结构和用法。创建一个母版页其实非常简单,我们只需要按照下面的步骤进行就可以了。
(1)打开VS2008,创建一个新项目。
(2)右击“解决方案资源管理器”中的项目名称,在弹出的快捷菜单中单击“添加新项”命令,弹出“添加新项”窗口。
(3)在 “添加新项”窗口中选择“母版页”选项,给你要创建的母版页起一个即合适又有意义的名字(记得,对于项目来说,命名对于后期的维护和识别很重要),母版页名字的后缀一定是“.master”,这是规定的。
(4)单击“添加”按钮,然后就完成了母版页的创建,接下来就可以对所添加的母版页进行设计了。设计方法和我们设计页面方法完全相同,因为母版页其实和页面一样,都可以看作是一张白纸。只是母版页中多了ContentPlaceHolder控件,即可编辑区域。
下面我们来看一下通过上述步骤创建的母版页,它包含一个.master的文件和它对应的.master.cs文件(看上去和页面的确是很相似)。我们再来看一下我们创建的.master文件的代码:
<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPageTestOne.master.cs"Inherits="MasterPageTestOne"%>