使用母版页(MasterPage).ppt

上传人:xt****7 文档编号:5187082 上传时间:2020-01-22 格式:PPT 页数:12 大小:365.81KB
返回 下载 相关 举报
使用母版页(MasterPage).ppt_第1页
第1页 / 共12页
使用母版页(MasterPage).ppt_第2页
第2页 / 共12页
使用母版页(MasterPage).ppt_第3页
第3页 / 共12页
点击查看更多>>
资源描述
第9章使用母版页 MasterPage 母版页是一个网站统一界面的基础 我们在浏览页面的时候经常看到 有些网站的所有顶端和底端内容都是相同的 实现这种相同有很多种方法 最笨的一种方法是每个网页都进行同样的设计 最简单的方法就是使用母版页 本章就介绍如何在ASP NET程序中应用母版页 本章示例参考 源代码 C09 9 1母版页基础 在使用ASP的时候 要想让整个网站页眉页脚等格式统一 一般使用frameset来解决 它可以将页面分成3个框架 最上面和最下面的框架保持不变 只允许更改中间的内容框架 那时框架的内容以及部署都需要手工完成 而在ASP NET中新添加了MasterPage页面 专门用于统一界面框架 本节介绍MasterPage的使用 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建立一个内容页 ContentPage 上一节创建好了母版页 本节将在一个内容页中 应用这个母版 让读者看看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 中修改这个控件的显示文本 代码如下所示 protectedvoidPage Load objectsender EventArgse Master FindControl Label1 asLabel 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作为母版 读者可运行Default2 aspx 测试嵌套母版页的运行效果 9 4小结 本章学习了什么是母版页 如何应用母版页 如何引用母版页 这些在日常的网站生活中经常用到 所以本章都通过一个个小的例子说明了这些知识点 通过本章的介绍 读者应该掌握母版页的创建和内容页对母版页的引用 在学习母版页的同时 掌握网站中网页之间层次的嵌套和相互之间的数据调用
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!