使用母版页(MasterPag)课件

上传人:re****.1 文档编号:576678845 上传时间:2024-08-20 格式:PPT 页数:12 大小:144.50KB
返回 下载 相关 举报
使用母版页(MasterPag)课件_第1页
第1页 / 共12页
使用母版页(MasterPag)课件_第2页
第2页 / 共12页
使用母版页(MasterPag)课件_第3页
第3页 / 共12页
使用母版页(MasterPag)课件_第4页
第4页 / 共12页
使用母版页(MasterPag)课件_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

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

8、不能用常规的方法在内容页中直接访问母版页的属性和方法。母版页类提供了“Master.FindControl()”方法类帮助开发人员从内容页调用母版页的数据。现在在母版页中添加一个Label控件,然后在内容页的“Page_Load”中修改这个控件的显示文本,代码如下所示。 protected void Page_Load(object sender, EventArgs e) (Master.FindControl(Label1) as Label).Text = 这是内容页的修改; 运行内容页,看看母版页中的Label显示文本是否已经修改。9.2.3 使用方法与处理事件为了让内容页可以访问母版

9、页的成员,Page类公开了Master属性。如果想在某个内容页访问到其母版页的属性和方法,只需要在内容页的源代码中增加下面的代码:其中的MasterType指令就是创建对此母版页的强类型引用,而virtualPath则指明了需要强类型引用的母版页文件名。经过上面的设定后,即可以在内容页中调用母版页的公用属性及方法,如以下代码所示。this.Label1.Text = this.Master.loginName;this.Label2.Text = this.Master.GetLoginTime();上面例子中的loginName和GetLoginTime就是母版页中提供的公有属性和方法。下面

10、就通过一个实例来学习如何访问母版页的公有属性。9.3 关于母版页嵌套(Nesting)母版页嵌套,就是让一个母版页可以引用另外母版页。利用嵌套的母版页我们可以创建组件化的母版页。如很多网站包含一个用于定义站点外观的总体外观,这个外观就可以通过母版页来完成。而且,不同的功能里又可以定义各自的子母版页,这些子母版页引用了网站的总母版页,并相应定义当前主体内容的外观。在旧版本的VS中,并不提供第2个母版页的设计时支持,但VS2008可以。打开本章的案例,在网站下再添加一个新的母版页,命名为“MasterPage2.master”。在添加时,选中“选择母版页”复选框,然后把MasterPage.master作为本页的母版页。在MasterPage2.master的第2个Content控件内输入“我是第2个母版”,用以在页面显示时进行区别。然后在网站中添加一个Web窗体Default2.aspx,此窗体应用MasterPage2.master作为母版,读者可运行Default2.aspx,测试嵌套母版页的运行效果。9.4 小结本章学习了什么是母版页?如何应用母版页?如何引用母版页,这些在日常的网站生活中经常用到,所以本章都通过一个个小的例子说明了这些知识点。通过本章的介绍,读者应该掌握母版页的创建和内容页对母版页的引用。在学习母版页的同时,掌握网站中网页之间层次的嵌套和相互之间的数据调用。

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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