`
ruilin215
  • 浏览: 1143753 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

ASP.NET 母版页 (MSDN)

阅读更多

ASP.NET 母版页概述

使用 ASP.NET 母版页可以为应用程序中的页创建一致的布局。单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示的内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并以将母版页的布局与内容页的内容组合在一起输出。

母版页为具有扩展名 .master(如 MySite.master)的 ASP.NET 文件,它具有可以包括静态文本、HTML 元素和服务器控件的预定义布局。母版页由特殊的 @ Master 指令识别,该指令替换了用于普通 .aspx 页的 @ Page 指令。该指令类看起来类似下面这样。
<%@ Master Language="C#" %>

除会在所有页上显示的静态文本和控件外,母版页还包括一个或多个 ContentPlaceHolder 控件。这些占位符控件定义可替换内容出现的区域。接着在内容页中定义可替换内容。

内容页
通过创建各个内容页来定义母版页的占位符控件的内容,这些内容页为绑定到特定母版页的 ASP.NET 页(.aspx 文件以及可选的代码隐藏文件)。通过包含指向要使用的母版页的 MasterPageFile 属性,在内容页的 @ Page 指令中建立绑定。例如,一个内容页可能包含下面的 @ Page 指令,该指令将该内容页绑定到 Master1.master 页。在内容页中,通过添加 Content 控件并将这些控件映射到母版页上的 ContentPlaceHolder 控件来创建内容。

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
Main content.
</asp:Content>

母版页中创建为 ContentPlaceHolder 控件的区域在新的内容页中显示为 Content 控件。

显示剩下的母版页内容,以便您查看布局,但这些内容显示为浅灰色,因为您在编辑内容页时不能更改这些内容。

母版页具有下面的优点:
1.使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新。
2.使用母版页可以方便地创建一组控件和代码,并将结果应用于一组页。例如,可以在母版页上使用控件来创建一个应用于所有页的菜单。
3.通过允许控制占位符控件的呈现方式,母版页使您可以在细节上控制最终页的布局。
4.母版页提供一个对象模型,使用该对象模型可以从各个内容页自定义母版页。

母版页的运行时行为
在运行时,母版页是按照下面的步骤处理的:

1.用户通过键入内容页的 URL 来请求某页。
2.获取该页后,读取 @ Page 指令。如果该指令引用一个母版页,则也读取该母版页。如果这是第一次请求这两个页,则两个页都要进行编译。
3.包含更新的内容的母版页合并到内容页的控件树中。
4.各个 Content 控件的内容合并到母版页中相应的 ContentPlaceHolder 控件中。
5.浏览器中呈现得到的合并页。

如何:引用 ASP.NET 母版页的内容

可以在内容页中编写代码来引用母版页中的属性、方法和控件,但这种引用有一定的限制。对于属性和方法的规则是:如果它们在母版页上被声明为公共成员,则可以引用它们。这包括公共属性和公共方法。在引用母版页上的控件时,没有只能引用公共成员的这种限制。

引用母版页上的公共成员
1.在内容页中添加 @ MasterType 指令。在该指令中,将 VirtualPath 属性设置为母版页的位置,如下面的示例所示:<%@ MasterType virtualpath="~/Masters/Master1.master" %> 此指令使内容页的 Master 属性被强类型化。
2.编写代码,将母版页的公共成员用作 Master 属性的一个成员,如本例中,将母版页名为 CompanyName 的公共属性的值赋给内容页上的一个文本框

引用母版页上的控件
使用 FindControl 方法,将 Master 属性的返回值用作命名容器。

下面的代码示例演示如何使用 FindControl 方法获取对母版页上的两个控件的引用(一个 TextBox 控件和一个 Label 控件)。因为 TextBox 控件处在 ContentPlaceHolder 控件的内部,必须首先获取对 ContentPlaceHolder 的引用,然后使用其 FindControl 方法来定位 TextBox 控件。
void Page_Load()
{
// Gets a reference to a TextBox control inside
// a ContentPlaceHolder
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder =
(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
mpTextBox =
(TextBox) mpContentPlaceHolder.FindControl("TextBox1");
if(mpTextBox != null)
{
mpTextBox.Text = "TextBox found!";
}
}

// Gets a reference to a Label control that not in
// a ContentPlaceHolder
Label mpLabel = (Label) Master.FindControl("masterPageLabel");
if(mpLabel != null)
{
Label1.Text = "Master page label = " + mpLabel.Text;
}
}

分享到:
评论

相关推荐

    【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)则可以插入到母版页中,填充特定的...

    ASP.NET母版页

    ASP.NET 母版页(Master Page)是微软在ASP.NET框架中提供的一种强大的页面布局技术,它允许开发者创建统一的、可重用的页面结构,以提高网站开发的效率和一致性。母版页概念类似于网页设计中的模板,可以定义全局的...

    【ASP.NET编程知识】ASP.NET母版页基础知识介绍.docx

    ASP.NET 母版页基础知识介绍 ASP.NET 母版页是 ASP.NET 网站开发中的一种重要组件,它允许开发者创建统一风格的网站,并且容易管理和维护。模板页定义了网页的外观和标准,在母版的基础上创建包含显示内容的各个...

    asp.net 母版页的使用

    ASP.NET 母版页(Master Pages)是.NET框架中的一种功能,用于创建网站的一致性布局和设计。母版页允许开发人员定义一个通用的头部、尾部、导航和其他共享元素,然后在多个网页中复用这个模板,从而简化网站开发和...

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

    ASP.NET 母版页(Master Pages)是微软.NET Framework中的一个重要特性,它允许开发者创建一个统一的页面布局,从而简化网站设计并提高代码复用性。在本演练中,我们将深入探讨如何创建和使用ASP.NET母版页,以及...

    ASP.net母版页的使用

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

    ASP.NET 关于母版的设计

    ASP.NET 母版页(Master Pages)是ASP.NET Web应用程序中的一个重要概念,它提供了一种统一网站界面设计的方法,可以有效地管理和维护多个页面的布局和样式。在本篇文章中,我们将深入探讨ASP.NET母版页的设计原理、...

    asp.net 母版页源程序

    母板页(MasterPage)中设置主题(附程序详解)

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

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

    asp.net 母版

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

    .net母版设计

    母版页是一个特殊的ASP.NET页面,它定义了整个网站的通用结构,包括导航栏、页眉、页脚等元素。内容页面则可以插入到母版页定义的特定区域,这些区域被称为内容占位符(Content Placeholders)。通过这种方式,内容...

    【ASP.NET编程知识】详解Asp.Net母版页元素ID不一致的体现.docx

    在ASP.NET编程中,母版页(Master Page)是一种强大的布局工具,允许开发者创建一个统一的网站头部、底部和侧边栏,而内容页(Content Page)则可以根据需要填充母版页预留的内容区域。然而,在实际开发过程中,可能...

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

    从给定的文件信息来看,主要讨论的是在ASP.NET 2.0中使用母版页(Master Page)时遇到的问题,具体是JavaScript无法在页面上正常工作,导致预期的功能无法实现。下面将深入分析这个问题,并提供可能的解决方案。 ### ...

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

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

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

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

    浅谈Asp.Net母版页和内容页运行机制

    Asp.Net 母版页(Master Page)和内容页(Content Page)是.NET框架中用于构建统一网站布局和设计的机制。它们的运行机制是ASP.NET Web应用程序中不可或缺的一部分,帮助开发者创建可重用的界面模板,提高开发效率。...

    详解Asp.Net母版页元素ID不一致的体现

    ***母版页(Master Page)是.NET框架提供的一种布局技术,用于创建网站的统一布局结构,可使多个页面共享相同的用户界面元素,如菜单栏、页脚、样式等,以此来维护网站风格的一致性和提高开发效率。***母版页中定义...

    ASP.NET的皮肤、主题和母版页的使用

    ASP.NET的皮肤、主题和母版页是构建高效、一致且易于维护的Web应用程序界面的重要工具。本章将深入探讨这三个概念以及它们如何协同工作,以实现更好的用户体验和开发效率。 12.1 皮肤和主题 皮肤和主题是ASP.NET自...

    .Net母版页简明教程

    .NET 母版页(Master Page)是ASP.NET框架中用于创建统一布局和设计的页面结构,它允许开发者定义一个通用的头部、尾部、侧边栏等元素,然后在多个内容页面(Content Page)中复用。母版页提高了网站开发的效率,...

Global site tag (gtag.js) - Google Analytics