一、使用多种方式为内容页加载母版页
默认情况下是给单个内容页指定一个母版页加载,当多个内容页需加载到同一个母版页时,我们可以通过配置文件为多个内容页批量加载母版页,另外,还可以在PreInit事件中动态加载母版页。
1、为单个内容页加载母版页时,自动在内容页的Page指令里加上MasterPageFile属性
<%@ PageTitle=""Language="C#"MasterPageFile="~/MasterPage/Site.Master"
……%>
2、为多个内容页批量加载母版页时,在配置文件里添加MasterPageFile属性
<configuration>
<system.web>
<pages masterPageFile="~/MasterPage/Site.Master"/>
</system.web>
</configuration>
此时,配置文件目录下的所有内容页都会批量加载该母版页,普通页面会被母版页忽略,但要记得去掉内容页里Page指令的MasterPageFile属性,否则会重写配置文件里的MasterPage属性。
3、PreInit事件中动态加载母版页
母版页的加载在PreInit事件中,可以使用如下代码动态加载,
protected void Page_PreInit(objectsender,EventArgs
e)
{
MasterPageFile = "~/MasterPage/Site.Master";
}
二、如何在内容页中修改关联母版页的内容
很多时候多个内容页加载同一个母版页,为了使各个内容页中加载的同一个母版页内容有所不同,我们需要修改合并在内容页中的母版页内容。
1、修改Title标签属性
当母版页的head标签包含Runat=”Server”属性时,可以修改内容页的title标签属性,使其不显示母版页的默认title,
方法一是通过内容页前台设置的Page指令的Title属性,
<%@ PageTitle="前台设置内容页标题"Language="C#"
AutoEventWireup="true" ……%>
方法二是通过内容页后台设置Page.Header.Title 的值,
Page.Header.Title = "编程改变内容页标题";
2、修改Head标签属性
当母版页的head标签包含Runat=”Server”属性时,我们可以通过后台代码修改head标签包含的标签属性,并可以为head标签动态添加指定的标签,如“meta”标签;代码中Page.header返回的是HtmlHead对象,代表head标签,HtmlMeta对象代表Meta标签。
using System.Web.UI.HtmlControls;
……
……
protected void Page_Load(objectsender,EventArgs
e)
{
//修改head标签中的title标签属性
Page.Header.Title = "编程改变内容页标题";
//修改head标签包含的其它标签属性,间接修改了页面背景颜色
Style myStyle =
new Style();
myStyle.BackColor = System.Drawing.Color.Red;
Page.Header.StyleSheet.CreateStyleRule(myStyle, null,"html");
//添加新标签meta到head标签中
HtmlMeta metaKeywords =
new HtmlMeta();
metaKeywords.Name = "KEYWORDS";
metaKeywords.Content = "asp.net,c#";
HtmlHead head = Page.Header;
head.Controls.Add(metaKeywords);
}
3、修改其它服务器控件属性
A、直接修改法:
通过ID查找母版页控件,((Label)Master.FindControl("Label1")).Text ="内容页";
B、间接修改法:
先在母版页中将需要修改的控件属性包装成公开属性,
public string BodyTitle
{
get{return this.Label1.Text;}
set{ this.Label1.Text =value;}
}
然后在内容页中转换母版页为特定的母版页类型,
<%@ MasterTypeVirtualPath="~/masterpage/MasterPage.master"%>
最后在内容页中调用母版页公开的属性,设置其值,Master.BodyTitle = "内容页";
三、谨慎使用母版页中控件的相关URL属性
母版页中可以包含客户端控件和服务器端控件,各个内容页与之合并时,其相关的URL属性需解析为当前内容页对应可用的URL。
1、当使用客户端控件相关URL属性时,需要使用Page.ResolveUrl(“相对于整个虚拟目录的相对路径”)方法解析为当前内容页对应可用的URL,
如<img src="logo.gif"alt=""/>需要修改为<imgsrc="<%=Page.ResolveUrl("~/MasterPage/logo.gif")%>"alt=""/>,否则不能够正确显示;
2、当使用服务器端控件相关URL属性时,自动解析为当前内容页对应可用的URL,
如<asp:ImageID="Image1"runat="server"
ImageUrl="~/MasterPage/logo.gif" />
相关推荐
引用asp.net母版页后,母版页和内容页的页面事件执行顺序引用asp.net母版页后,母版页和内容页的页面事件执行顺序
asp.net2.0母版页技术源文件 asp.net2.0母版页技术源文件 asp.net2.0母版页技术源文件
ASP.net制作母版页的使用,教会如何使用母版页.
ASP.NET 2.0创建母版页引来的麻烦-js无用
asp.net 嵌套母版页(实例演示) 包含有母版页、嵌套母版页、2个内容页可以直观的看到嵌套母版页应用的效果。
ASP.NET的母版页技术,这是ASP.NET新增的一个功能
ASP.NET 套用母版页的页面控件遍历
asp.net关于主题母版页内容页所做的一个购物网站
母版页控件 Init 事件。... 您可能感兴趣的文章:asp.net母版页如何使用ASP.NET母版页基础知识介绍ASP.NET中母版页和shtml实例入门ASP.Net巧用窗体母版页实例ASP.NET 2.0 中的创建母版页浅谈Asp.Net母
ASP.NET 关于母版的设计 网站设计 登陆界面 包括 页面翻转 等等,,, 很详细~~
介绍ASP.NET主题、母版页和站点导航的基本概念和应用
ASP.net实验报告加详细步骤,实验五,ASP.NET主题、母版页和站点导航,超详细的步骤,有图片有文字
【ASP.NET编程知识】浅谈Asp.Net母版页和内容页运行机制.docx
幻灯片式 演练:创建和使用 ASP.NET 母版页的一步一步过程
ASP.NET 的一个后台管理的母版页,适用于各种网站, 开发环境VS08。需要的朋友可以下载
asp.net母版页多种样式(适合新手学习)【ASP.NET后台管理模板页.rar】【ASPnet皮肤主题和模板页.rar】【网上的母版页网页.rar】
ASP..net动态网站母版页的建立与使用.zipASP..net动态网站母版页的建立与使用.zipASP..net动态网站母版页的建立与使用.zipASP..net动态网站母版页的建立与使用.zipASP..net动态网站母版页的建立与使用.zip
本章开始讨论ASP.NET的页面创作技术,现如今的网页网站、Web Base应用程序越来越注重页面的外观和可操作性。一致的外观能给用户良好的印象,并能充份展示企业的形象和文化...母版页:母版页用于定义网站的一致性布局。
ASP.NET 2.0 母版页 本节解释母版页(Master Pages)的概念。 ASP.NET 2.0 导航 本节讲解 ASP.NET 2.0 的导航控件。 ASP.NET 参考手册 ASP.NET HTML Server 控件参考 完整的 HTML 服务器控件参考手册,包括其...
母板页(MasterPage)中设置主题(附程序详解)