使用母版页(MasterPage)

上传人:宝路 文档编号:48348649 上传时间:2018-07-14 格式:PPT 页数:12 大小:170.94KB
返回 下载 相关 举报
使用母版页(MasterPage)_第1页
第1页 / 共12页
使用母版页(MasterPage)_第2页
第2页 / 共12页
使用母版页(MasterPage)_第3页
第3页 / 共12页
使用母版页(MasterPage)_第4页
第4页 / 共12页
使用母版页(MasterPage)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《使用母版页(MasterPage)》由会员分享,可在线阅读,更多相关《使用母版页(MasterPage)(12页珍藏版)》请在金锄头文库上搜索。

1、第9章 使用母版页(Master Page) 母版页是一个网站统一界面的基础,我们在浏览 页面的时候经常看到,有些网站的所有顶端和底 端内容都是相同的。实现这种相同有很多种方法 ,最笨的一种方法是每个网页都进行同样的设计 ,最简单的方法就是使用母版页。本章就介绍如 何在ASP.NET程序中应用母版页。 【本章示例参考:源代码C09】9.1 母版页基础 在使用ASP的时候,要想让整个网站页眉页脚等格 式统一,一般使用frameset来解决。它可以将页 面分成3个框架,最上面和最下面的框架保持不变 ,只允许更改中间的内容框架。那时框架的内容 以及部署都需要手工完成。而在ASP.NET中新添加 了M

2、aster Page页面,专门用于统一界面框架。本 节介绍Master Page的使用。9.1.1 建立一个母版页本节首先学习创建一个母版页,然后再了解母版页的组成。创建母版页的步骤如下。 (1)右击当前项目名称,单击“添加新项”菜单命令,打开“添加新项”对话框。 (2)选择“母版页”模板,系统将自动命名为“MasterPage.master”,这里不需要 修改名字。 注意:母版页文件的扩展名为“.master”。 (3)单击“添加”按钮,在解决方案资源管理器中生成了一个母版页文件。 (4)双击“MasterPage.master”文件,在页面的“设计”视图的整个文件中,只有 两个Conten

3、tPlaceHolder服务器控件,这是允许改变的内容部分,一个在页面的head 中,一个在页面的body中。而其他固定部分,在此控件以外的地方添加。 (5)在此文件中加个HTML表格,设置为3行2列。 (6)将“ContentPlaceHolder1”控件拖到第2行第2列中。 (7)在第1行中显示欢迎信息,主要是为了在母版页中显示固定的内容。最终页面的 设计都是一些隐藏的网格线,并没有非常特殊的设计,如图9.1所示。下面给出母版 页的源代码。9.1.2 建立一个内容页(Content Page )上一节创建好了母版页,本节将在一个内容页中,应用这个母版,让读者 看看ASP.NET程序下的母版

4、页是什么样子。 (1)右击当前项目名称,单击“添加新项”菜单命令,打开“添加新项 ”对话框。 (2)此时,选中对话框右下角的“选择母版页”复选框。然后选择“Web 窗体”项,将这个窗体命名为ContentP.aspx,单击“添加”按钮,此时 打开一个对话框,让用户选择要应用哪个母版页。 (3)因为本例只创建了一个MasterPage.master母版,所以选择这个文件 ,然后单击“确定”按钮,此时生成的页面源代码如下所示。 9.1.3 在母版页使用相对路径应注意的问题在母版页中使用图像文件时,内容页是否可以正常显示这个图像。下面通过试验来测试这个路径问 题。 (1)在网站下添加一个LOGO,本

5、例使用了Google的LOGO。 (2)在母版页文件MasterPage.master中添加一个img控件,然后设置其图像文件属性如下所示。 (3)在网站根目录下添加一个新文件夹“Content”,将上节的ContentP.aspx页面拖到这个文件 夹内。主要目的是让母版页和内容页不在同个目录下。因为实际项目都很大,不同的内容都会分类 在不同的目录下。 (4)此时设置ContentP.aspx为起始页,运行后发现图像根本没有显示。这就是经常遇到的母版页 路径问题。 凡是在母版页遇到文件路径时,如图像的文件来源、链接的文件去向等,都需要使用绝对路径,或 者使用ResolveUrl方法实现相对路径

6、。本例将img的属性修改为如下所示。 style=“height: 39px“ 此时再运行程序,图像就可以正常显示了,如图9.3所示。9.1.4 在配置文件中设定母版页如果要修改现在的网站,让每个网页都能应用母版页,那 么不需要修改每个网页的属性,只需要在web.config文件 中进行配置就可以,主要配置细节如下所示。 这样做虽然很方便,但毕竟不很灵活,如果个别目录下的 内容不需要应用母版,那还有一个方法,将不需要应用母 版页的内容页都集中在一个目录下,然后在这个目录下单 独设置web.config文件。 注意:即使设置了web.config中全部网页都应用母版页, 但用户可以通过修改网页的

7、MasterPageFile属性来更改母 版页。9.2 对母版页类进行操作 上一节介绍的这些都是一些可视化的操作,如果 要在后台进行母版页的操作,就必须使用母版页 类。本节就介绍母版页类的一些操作。9.2.1 修改标题当一个内容页应用了母版页后,它的页面源代码中就少了“title”这一 项,本节就学习没有了这个标题项,如何修改网页的标题。 打开内容页ContentP.aspx,其头文件如下所示。其中所有的属性就是针 对当前页面的一些配置,在任意属性后面,按“Space”键,就可以出现 所能选择的属性,可以看到有“Title”项,选中此项,并将其属性设置 为“我是内容”。 好了,运行内容页,再看

8、看内容的标题,如图9.4所示。9.2.2 访问母版页中的控件在.NET中,由于是先加载内容页,然后再加载母版页。所 以不能用常规的方法在内容页中直接访问母版页的属性和 方法。母版页类提供了“Master.FindControl()”方法类 帮助开发人员从内容页调用母版页的数据。 现在在母版页中添加一个Label控件,然后在内容页的 “Page_Load”中修改这个控件的显示文本,代码如下所示 。 protected void Page_Load(object sender, EventArgs e) (Master.FindControl(“Label1“) as Label).Text =

9、“这是内容页的修改“; 运行内容页,看看母版页中的Label显示文本是否已经修改 。9.2.3 使用方法与处理事件为了让内容页可以访问母版页的成员,Page类公开了Master属性。如果想 在某个内容页访问到其母版页的属性和方法,只需要在内容页的源代码中 增加下面的代码: 其中的MasterType指令就是创建对此母版页的强类型引用,而 virtualPath则指明了需要强类型引用的母版页文件名。经过上面的设定 后,即可以在内容页中调用母版页的公用属性及方法,如以下代码所示。 this.Label1.Text = this.Master.loginName; this.Label2.Text

10、= this.Master.GetLoginTime(); 上面例子中的loginName和GetLoginTime就是母版页中提供的公有属性和 方法。下面就通过一个实例来学习如何访问母版页的公有属性。9.3 关于母版页嵌套(Nesting)母版页嵌套,就是让一个母版页可以引用另外母版页。利 用嵌套的母版页我们可以创建组件化的母版页。如很多网 站包含一个用于定义站点外观的总体外观,这个外观就可 以通过母版页来完成。而且,不同的功能里又可以定义各 自的子母版页,这些子母版页引用了网站的总母版页,并 相应定义当前主体内容的外观。 在旧版本的VS中,并不提供第2个母版页的设计时支持,但 VS2008

11、可以。打开本章的案例,在网站下再添加一个新的 母版页,命名为“MasterPage2.master”。在添加时,选 中“选择母版页”复选框,然后把MasterPage.master作为 本页的母版页。在MasterPage2.master的第2个Content控 件内输入“我是第2个母版”,用以在页面显示时进行区别 。 然后在网站中添加一个Web窗体Default2.aspx,此窗体应 用MasterPage2.master作为母版,读者可运行 Default2.aspx,测试嵌套母版页的运行效果。9.4 小结 本章学习了什么是母版页?如何应用母版页?如 何引用母版页,这些在日常的网站生活中经常用 到,所以本章都通过一个个小的例子说明了这些 知识点。通过本章的介绍,读者应该掌握母版页 的创建和内容页对母版页的引用。在学习母版页 的同时,掌握网站中网页之间层次的嵌套和相互 之间的数据调用。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号