已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章 使用母版页(Master Page),母版页是一个网站统一界面的基础,我们在浏览页面的时候经常看到,有些网站的所有顶端和底端内容都是相同的。实现这种相同有很多种方法,最笨的一种方法是每个网页都进行同样的设计,最简单的方法就是使用母版页。本章就介绍如何在ASP.NET程序中应用母版页。 【本章示例参考:源代码C09】,9.1 母版页基础,在使用ASP的时候,要想让整个网站页眉页脚等格式统一,一般使用frameset来解决。它可以将页面分成3个框架,最上面和最下面的框架保持不变,只允许更改中间的内容框架。那时框架的内容以及部署都需要手工完成。而在ASP.NET中新添加了Master Page页面,专门用于统一界面框架。本节介绍Master Page的使用。,9.1.1 建立一个母版页,本节首先学习创建一个母版页,然后再了解母版页的组成。创建母版页的步骤如下。 (1)右击当前项目名称,单击“添加新项”菜单命令,打开“添加新项”对话框。 (2)选择“母版页”模板,系统将自动命名为“MasterPage.master”,这里不需要修改名字。 注意:母版页文件的扩展名为“.master”。 (3)单击“添加”按钮,在解决方案资源管理器中生成了一个母版页文件。 (4)双击“MasterPage.master”文件,在页面的“设计”视图的整个文件中,只有两个ContentPlaceHolder服务器控件,这是允许改变的内容部分,一个在页面的head中,一个在页面的body中。而其他固定部分,在此控件以外的地方添加。 (5)在此文件中加个HTML表格,设置为3行2列。 (6)将“ContentPlaceHolder1”控件拖到第2行第2列中。 (7)在第1行中显示欢迎信息,主要是为了在母版页中显示固定的内容。最终页面的设计都是一些隐藏的网格线,并没有非常特殊的设计,如图9.1所示。下面给出母版页的源代码。,9.1.2 建立一个内容页(Content Page),上一节创建好了母版页,本节将在一个内容页中,应用这个母版,让读者看看ASP.NET程序下的母版页是什么样子。 (1)右击当前项目名称,单击“添加新项”菜单命令,打开“添加新项”对话框。 (2)此时,选中对话框右下角的“选择母版页”复选框。然后选择“Web窗体”项,将这个窗体命名为ContentP.aspx,单击“添加”按钮,此时打开一个对话框,让用户选择要应用哪个母版页。 (3)因为本例只创建了一个MasterPage.master母版,所以选择这个文件,然后单击“确定”按钮,此时生成的页面源代码如下所示。 ,9.1.3 在母版页使用相对路径应注意的问题,在母版页中使用图像文件时,内容页是否可以正常显示这个图像。下面通过试验来测试这个路径问题。 (1)在网站下添加一个LOGO,本例使用了Google的LOGO。 (2)在母版页文件MasterPage.master中添加一个img控件,然后设置其图像文件属性如下所示。 (3)在网站根目录下添加一个新文件夹“Content”,将上节的ContentP.aspx页面拖到这个文件夹内。主要目的是让母版页和内容页不在同个目录下。因为实际项目都很大,不同的内容都会分类在不同的目录下。 (4)此时设置ContentP.aspx为起始页,运行后发现图像根本没有显示。这就是经常遇到的母版页路径问题。 凡是在母版页遇到文件路径时,如图像的文件来源、链接的文件去向等,都需要使用绝对路径,或者使用ResolveUrl方法实现相对路径。本例将img的属性修改为如下所示。 style=“height: 39px“ 此时再运行程序,图像就可以正常显示了,如图9.3所示。,9.1.4 在配置文件中设定母版页,如果要修改现在的网站,让每个网页都能应用母版页,那么不需要修改每个网页的属性,只需要在web.config文件中进行配置就可以,主要配置细节如下所示。 这样做虽然很方便,但毕竟不很灵活,如果个别目录下的内容不需要应用母版,那还有一个方法,将不需要应用母版页的内容页都集中在一个目录下,然后在这个目录下单独设置web.config文件。 注意:即使设置了web.config中全部网页都应用母版页,但用户可以通过修改网页的MasterPageFile属性来更改母版页。,9.2 对母版页类进行操作,上一节介绍的这些都是一些可视化的操作,如果要在后台进行母版页的操作,就必须使用母版页类。本节就介绍母版页类的一些操作。,9.2.1 修改标题,当一个内容页应用了母版页后,它的页面源代码中就少了“title”这一项,本节就学习没有了这个标题项,如何修改网页的标题。 打开内容页ContentP.aspx,其头文件如下所示。其中所有的属性就是针对当前页面的一些配置,在任意属性后面,按“Space”键,就可以出现所能选择的属性,可以看到有“Title”项,选中此项,并将其属性设置为“我是内容”。 好了,运行内容页,再看看内容的标题,如图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 = “这是内容页的修改“; 运行内容页,看看母版页中的Label显示文本是否已经修改。,9.2.3 使用方法与处理事件,为了让内容页可以访问母版页的成员,Page类公开了Master属性。如果想在某个内容页访问到其母版页的属性和方法,只需要在内容页的源代码中增加下面的代码: 其中的MasterType指令就是创建对此母版页的强类型引用,而virtualPath则指明了需要强类型引用的母版页文件名。经过上面的设定后,即可以在内容页中调用母版页的公用属性及方法,如以下代码所示。 this.Label1.Text = this.Master.loginName; this.Label2.Text = this.Master.GetLoginTime(); 上面例子中的loginName和GetLoginTime就是母版页中提供的公有属性和方法。下面就通过一个实例来学习如何访问母版页的公有属性。,9.3 关于母版页嵌套(Nesting),母版页嵌套,就是让一个母版页可以引用另外母版页。利用嵌套的母版页我们可以创建组件化的母版页。如很多网站包含一个用于定义站点外观的总体外观,这个外观就可以通过母版页来完成。而且,不同的功能里又可以定义各自的子母版页,这些子母版页引用了网站的总母版页,并相应定义当前主体内容的外观。 在旧版本的VS中,并不提供第2个母版页的设计时支持,但VS2008可以。打开本章的案例,在网站下再添加一个新的母版页,命名为“MasterPage2.master”。在添加时,选中“选择母版页”复选框,然后把MasterPage.master作为本页的母版页。在MasterPage2.master的第2个Content控件内输入“我是第2个母版”,用以在页面显示时进行区别。 然后在网站中添加一个Web窗体Default2.aspx,此窗体应用MasterPage2.master作为母版,读者可运行Def
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年技术开发合同范本
- 2024年度建筑工程质量检测合同
- 2024年建筑施工合同施工要求与质量标准
- 2024年建筑工程分包合同(含工程量清单)
- 2024年技术股权长期合作协议
- 2024年快递行业劳动合同下载
- 2024年新时期古建防水施工合作协议
- DB4117T 235-2018 全株玉米青贮技术要求
- DB4115T 083-2021 信阳茶园生物防治技术规程
- 2024年房地产居间业务协议书下载
- MOOC 微型计算机原理与接口技术-南京邮电大学 中国大学慕课答案
- 1kw太阳能独立供电系统解决方案
- 七年级期中考试考后分析主题班会课件
- 环境教育与公众参与-第1篇
- 北师大版六年级数学上册第五单元数据处理单元测试卷及答案
- (2024年)Photoshop基础入门到精通教程全套
- 实验室建设筹备方案
- 《东北的振兴》课件
- 2024年中职《餐饮服务与管理》职教高考必备考试题库(含答案)
- 2024年中核武汉核电运行技术股份有限公司招聘笔试参考题库含答案解析
- 背景调查管理规定模版
评论
0/150
提交评论