运永顺
摘 要:利用ASP.NET开发网站时,可以使用主题和CSS解决多个页面批量布局的问题,用户控件也可解决多个网页局部内容共享的问题。但对于布局和内容等都相同或相似的多个页面批量开发最好使用母版技术。
关键词:ASP.NET;母版;网页设计
通过制作网页母版,可使多个网页中布局和内容都相同的网页部分只制作一次即可,最终实现网页的批量开发。ASP.NET母版技术涉及两种网页,即母版页和内容页。使用母版页可以为网站中的网页创建一致的布局,母版页也可以为网站中的所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,以将母版页的布局与内容页的内容组合在一起输出。
1 母版页
母版页的文件扩展名为.master,它具有可以包括静态文本、HTML元素和服务器控件的预定义布局。母版页由特殊的@Master指令识别,该指令替换了用于普通.aspx页的@Page指令。除在所有页上显示的文本和控件外,母版页还包括一个或多个ContentPlaceHolder控件,这些占位符控件定义可替换内容出现的区域。
2 内容页
通过创建各个内容页来定义母版页占位符控件的内容,这些内容页为绑定到特定母版页的.aspx页以及可选的代码隐藏文件。通过包含指向要使用的母版页的MasterPageFile 属性,在内容页的@Page指令中建立绑定。例如,一个内容页绑定到母版页Master1.master 的代码示例为:<%@ Page MasterPageFile="~/MasterPages/Master1.master" %>
在内容页中,通过添加Content控件并将这些控件映射到母版页上的ContentPlaceHolder控件来创建内容,内容页中不应含有
等文档结构标记。3 创建母版页和内容页
右击要存放母版页的文件夹,在弹出的快捷菜单中选择“添加新项”命令,在弹出的对话框中选择“母版页”选项,输入文件名后,单击“添加”按钮。
右击要存放内容页的文件夹,在弹出的快捷菜单中选择“添加新项”命令,在弹出的对话框中选择“窗体页”选项,输入文件名后,选中 ,在弹出的对话框中选中要套用的母版文件,单击“添加”按钮。
4 嵌套的母版页
母版页可以嵌套,让一个母版页引用另外的页作为其母版页。利用嵌套的母版页可以创建组件化的母版页。与任何母版页一样,子母版页也包含文件扩展名.master。子母版页通常会包含一些内容控件,这些控件将映射到父母版页上的内容占位符。就这方面而言,子母版页的布局方式与所有内容页类似。但是,子母版页还有自已的内容占位符,可用于显示其子页提供的内容。下面的3个页清单演示了一个简单的嵌套母版页配置。
5 几点说明
5.1 母版页与主题
不能直接将主题应用于母版页。但主题在下面这些情况中会应用于母版页:
⑴如果主题是在内容页中定义的。母版页在内容页的上下文中解析,因此内容页的主题也会应用于母版页。
⑵如果通过在pages元素(ASP.NET设置架构)中包含主题定义来将整个站点配置为使用主题。
5.2 限定母版页的范围
⑴页级:可以在每个内容页中使用页指令来将内容页绑定到一个母版页。
6 制作步骤
下面用实例说明母版技术的应用,若要做如下三图效果,步骤如下:
⑴创建母版页。打开该网站,右击根文件夹,在弹出的快捷菜单中选择“添加新项”命令,在弹出的对话框中选择“母版页”选项,输入文件名themefilemaster.master,在代码视图中输入用于布局的div层标记,各層嵌套关系如图4所示。
同理,编写出另外两个主题下的CSS文件和皮肤文件。修改相应颜色为粉红色系和菊黄色系。最后可查看效果。
以上简述了ASP.NET技术中母版技术的应用,母版中的程序代码同普通网页一样。