码迷,mamicode.com
首页 > 其他好文 > 详细

母版页

时间:2015-04-19 19:29:45      阅读:213      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!