标签:html母版页
在做牛腩发布系统是我们会用到母版页,其实母版页理解起来也不难,我们做PPT的时候会有母版,其实这两者在意义上是一样的。
什么是母版页
母版页是一个网站统一界面的基础,我们在浏览页面的时候经常看到,有些网站的所有顶端和底端内容都是相同的。实现这种相同有很多种方法,最笨的一种方法是每个网页都进行同样的设计,最简单的方法就是使用母版页。
当用户请求内容页时,内容页与母版页合并,并将母版页的布局与内容页的内容组合在一起输出呈现到浏览器
使用母版页
母版页工作原理
在已有的页面中应用母版页
将现有页面中<form></form>元素之间的内容放置到<asp:Content/>内,然后修改页面的@page指令的MasterPageFile属性,指定所应用的母版页即可,如下图
在内容页中访问母版页
弱类型引用(调用FindControl方法进行访问)
显式地给FindControl方法传递一个控件的ID值
将返回值转换成已知类型的控件
访问控件属性
string strSearch =((TextBox) Master.FindControl("txtSearch")).Text;
强类型引用(访问母版页中公开属性和方法)
//母版页中公开属性
public string SearchText { get { return txtSearch.Text; } set { txtSearch.Text = value; } }
//在内容页中对母版页中属性访问
string strSearch = ((Site)Master).SearchText;
在配置文件中设定母版页
如果要修改现在的网站,让每个网页都能应用母版页,那么不需要修改每个网页的属性,只需要在web.config文件中进行配置就可以,主要配置细节如下所示。
<system.web> <pages masterPageFile="MasterPage.master"/> </system.web>
这样做虽然很方便,但毕竟不很灵活,如果个别目录下的内容不需要应用母版,那还有一个方法,将不需要应用母版页的内容页都集中在一个目录下,然后在这个目录下单独设置web.config文件。
注意:即使设置了web.config中全部网页都应用母版页,但用户还可以通过修改网页的MasterPageFile属性来更改母版页。
修改标题
当一个内容页应用了母版页后,它的页面源代码中就少了“title”这一项,如何修改网页的标题?打开内容页newscontent.aspx,其头文件如下所示。其中所有的属性就是针对当前页面的一些配置,在任意属性后面,按“Space”键,就可以出现所能选择的属性,可以看到有“Title”项,选中此项,并将其属性设置为“我是内容”。
<%@ PageTitle="新闻内容-牛腩新闻发布系统"Language="C#"MasterPageFile="~/common.Master"AutoEventWireup="true"CodeBehind="newscontent.aspx.cs"Inherits="Web.newscontent"MaintainScrollPositionOnPostback="true"%>
在母版页使用相对路径应注意的问题:
凡是在母版页遇到文件路径时,如图像的文件来源、链接的文件去向等,都需要使用绝对路径,或者使用ResolveUrl方法实现相对路径。
关于母版页嵌套(Nesting)
母版页嵌套,就是让一个母版页可以引用另外母版页。利用嵌套的母版页我们可以创建组件化的母版页。如很多网站包含一个用于定义站点外观的总体外观,这个外观就可以通过母版页来完成。而且,不同的功能里又可以定义各自的子母版页,这些子母版页引用了网站的总母版页,并相应定义当前主体内容的外观。大家可以自行去尝试。
牛腩中学到很多,慢慢总结吧,希望能帮到大家。
标签:html母版页
原文地址:http://blog.csdn.net/xfz0330/article/details/45131663