`

ASP.NET:母版页与内容页

 
阅读更多

 一、使用多种方式为内容页加载母版页

默认情况下是给单个内容页指定一个母版页加载,当多个内容页需加载到同一个母版页时,我们可以通过配置文件为多个内容页批量加载母版页,另外,还可以在PreInit事件中动态加载母版页。

1、为单个内容页加载母版页时,自动在内容页的Page指令里加上MasterPageFile属性
<% @ Page Title ="" 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(object sender,EventArgs e)
{
    MasterPageFile = "~/MasterPage/Site.Master" ;
}

 

二、如何在内容页中修改关联母版页的内容

很多时候多个内容页加载同一个母版页,为了使各个内容页中加载的同一个母版页内容有所不同,我们需要修改合并在内容页中的母版页内容。

1、修改Title标签属性
当母版页的head标签包含Runat=”Server”属性时,可以修改内容页的title标签属性,使其不显示母版页的默认title,
方法一是通过内容页前台设置的Page指令的Title属性,
<% @ Page  Title ="前台设置内容页标题" 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(object sender,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 ;}
}
然后在内容页中转换母版页为特定的母版页类型,
<% @ MasterType VirtualPath ="~/masterpage/MasterPage.master" %>
最后在内容页中调用母版页公开的属性,设置其值,Master.BodyTitle = "内容页" ;

 

三、谨慎使用母版页中控件的相关URL属性

母版页中可以包含客户端控件和服务器端控件,各个内容页与之合并时,其相关的URL属性需解析为当前内容页对应可用的URL。

1、当使用客户端控件相关URL属性时,需要使用Page.ResolveUrl(“相对于整个虚拟目录的相对路径”) 方法解析为当前内容页对应可用的URL,
< img src ="logo.gif" alt =""/>需要修改为 < img src =" <% =Page.ResolveUrl("~/MasterPage/logo.gif")%> " alt =""/>,否则不能够正确显示;

2、当使用服务器端控件相关URL属性时,自动解析为当前内容页对应可用的URL,
< asp : Image ID ="Image1" runat ="server" ImageUrl ="~/MasterPage/logo.gif" />

分享到:
评论

相关推荐

    asp.net2.0母版页技术

    ASP.NET 2.0 母版页(Master Pages)技术是微软开发的Web应用程序框架,用于构建统一、可重用的页面结构。母版页允许开发者定义网站的全局布局,包括头部、导航、页脚等共享元素,而内容页可以专注于提供具体的功能...

    ASP.NET 2.0创建母版页引来的麻烦-js无用

    由于母版页与内容页的分离,JavaScript代码的位置和执行上下文可能会影响其功能。具体到本例中,`document.getElementById("txt")`在运行时找不到对应的元素,这可能是由于以下原因: 1. **元素ID冲突**:在母版页...

    引用asp.net母版页后,母版页和内容页的页面事件执行顺序

    在ASP.NET Web应用程序中,母版页(Master Page)是一种强大的功能,它允许开发者创建一个统一的布局模板,用于多个内容页(Content Page)。当一个内容页引用了母版页,它们之间的事件处理顺序就变得至关重要,因为...

    ASP.net母版页的使用

    ASP.net制作母版页的使用,教会如何使用母版页.

    ASP.NET母版页

    在VS08(Visual Studio 2008)这个开发环境中,创建和使用ASP.NET母版页非常便捷。以下是一些关于母版页的核心知识点: 1. **母版页结构**:母版页通常包含固定的部分,如页头、页脚、侧边栏和导航菜单,这些区域被...

    ASP.NET套用母版页的页面控件遍历

    在ASP.NET开发中,母版页(Master Page)是一种强大的布局工具,允许开发者创建一致的网站外观和用户体验。母版页定义了整个站点共享的...通过本文的介绍,你应该对如何遍历ASP.NET母版页下的控件有了更深入的理解。

    asp.net 嵌套母版页(实例演示)

    asp.net 嵌套母版页(实例演示) 包含有母版页、嵌套母版页、2个内容页可以直观的看到嵌套母版页应用的效果。

    ASP.NET的母版页技术

    ASP.NET的母版页技术,这是ASP.NET新增的一个功能

    【ASP.NET编程知识】浅谈Asp.Net母版页和内容页运行机制.docx

    ASP.NET 母版页和内容页运行机制 本文将详细讲解 ASP.NET 母版页和内容页的运行机制,包括母版页和内容页的定义、运行过程、优点等。 一、ASP.NET 母版页和内容页的定义 ASP.NET 母版页(Master Page)是一种特殊...

    asp.net母版页多种样式.zip

    ASP.NET母版页是.NET Framework中的一个重要特性,用于创建具有统一布局和导航的Web应用程序。母版页(Master Page)允许开发人员定义一个全局的页面布局,子页面(Content Page)则可以插入到母版页中,填充特定的...

    APS.NET主题母版页内容页

    在这个特定的项目中,“ASP.NET主题母版页内容页”指的是使用ASP.NET框架创建的网站,该网站利用了母版页(Master Page)和内容页(Content Page)的概念来实现统一的页面布局和设计。 母版页是ASP.NET中的一个重要...

    ASP.NET 关于母版的设计

    在本篇文章中,我们将深入探讨ASP.NET母版页的设计原理、应用场景以及如何实现。 首先,ASP.NET母版页是一种模板,它定义了网站的全局布局,包括头部、底部、侧边栏等通用元素。通过使用母版页,开发者可以在不影响...

    ASP.NET 2.0 中母版页与内容页的控件之间的访问的源代码

    通过以上技术,开发者可以在ASP.NET 2.0环境中有效地管理和控制母版页与内容页之间的交互,提高代码的复用性和可维护性。在实际项目中,可以根据需求选择合适的方法来实现母版页和内容页控件的访问和数据交换。

    asp.net 母版页的使用

    1. **创建母版页**: 在Visual Studio中,选择“新建”&gt;“ASP.NET母版页”,然后为母版页指定一个`.master`扩展名的文件。 2. **添加控件和内容区域**: 在母版页中,你可以添加各种ASP.NET控件,如菜单、图像、表格...

    【ASP.NET编程知识】asp.net利用母版制作页脚效果.docx

    在文档中,我们看到如何利用ASP.NET母版页来制作页脚效果的步骤: 1. **母版页创建**:虽然文档没有详述创建母版页的流程,但通常,开发者会通过Visual Studio等IDE新建一个`.master`文件,定义全局的头部、底部、...

    演练3:创建和使用 ASP.NET 母版页

    在本演练中,我们将深入探讨如何创建和使用ASP.NET母版页,以及它们在实际项目中的应用。 一、母版页的基本概念 母版页是一种特殊的网页,定义了整个网站或应用程序的一致外观和布局。它包括头部、尾部、导航等通用...

    asp.net 母版

    ASP.NET 母版页(Master Page)是微软ASP.NET框架提供的一种强大的页面布局机制,它允许开发者创建统一的网站外观和布局。母版页在Web应用开发中扮演着核心角色,尤其对于大型项目,可以确保所有页面共享一致的设计...

    ASP.NET下母版页和内容页中的事件发生顺序整理

    母版页控件 Init 事件。... 您可能感兴趣的文章:asp.net母版页如何使用ASP.NET母版页基础知识介绍ASP.NET中母版页和shtml实例入门ASP.Net巧用窗体母版页实例ASP.NET 2.0 中的创建母版页浅谈Asp.Net母

    ASP.NET主题、母版页和站点导航

    介绍ASP.NET主题、母版页和站点导航的基本概念和应用

    实验五 1、3ASP.NET主题、母版页和站点导航.doc

    实验五主要涵盖了ASP.NET中的三个核心概念:主题(Themes)、母版页(Master Pages)和站点导航(Site Navigation)。这些特性极大地增强了ASP.NET应用程序的用户体验和整体一致性。 首先,我们来详细探讨一下ASP...

Global site tag (gtag.js) - Google Analytics