母版页(Master Pages)
http://blog.csdn.net/iiboy/

  ASP.NET 1.x中最突出的缺点之一是它缺少对页面模板的支持。欠缺的是定义其他页面可以继承的“母版页”能力。开发人员通过使用用户控件(它们可以容易地在页面之间复制)创建页面来弥补这一缺陷。在ASP.NET 2.0中,由于加入了一个称作“母版页”的新增功能,所以不再需要这种技巧。想一想“可视化继承”,您就会理解母版页是干什么用的了。首先,您需要定义一个母版页(其中包含您希望在其他页面上显示的内容),并且使用ContentPlaceHolder控件来定义子页面可以将其内容插入的位置。然后,您需要生成子页面—SPX文件,它使用(类似于)如下所示的指令来引用母版页:

<%@ Page MasterPageFile="~/Foo.master" %>

  在子页面中,您使用Content控件来填写母版页中的占位符。在浏览器中呈现子页面,出现的内容将是在母版页和子页面中所定义内容的完美组合。

<%@ Master %>

<html>
<body leftmargin="0" topmargin="0" rightmargin="0"
bottommargin="0" marginheight="0" marginwidth="0"

<!-- Banner -->
<table cellspacing="0" cellpadding="0"
style="background-image: url('images/stripes.gif');
background-repeat: repeat-x, repeat-y" width="100%"

<tr><td align="center">
<span style="font-family: verdana; font-size: 36pt;
font-weight: bold; color: white"

Master Pages
</span><br>
<span style="font-family: verdana; font-size: 10pt;
font-weight: normal; color: white"

This banner provided by Master.master
</span>
</td></tr>
</table>

<!-- Placeholder for content between banner and footer -->
<form id="Content">
 <asp:ContentPlaceHolder ID="Main" RunAt="server" />
</form>

<!-- Footer -->
<table width="100%"><tr><td align="center">
<span style="font-family: verdana; font-size: 8pt; color: red">
Copyright (c) 2004 by Me Inc. All rights reserved<br>
This footer provided by Master.master
</span>
</td></tr></table>
</body>
</html>

Master.master

<%@ Page MasterPageFile="~/Master.master" %>

<asp:Content ContentPlaceHolderID="Main" RunAt="server">
<table width="100%" height="256px"><tr><td align="center">
<h2>This content provided by Subpage.aspx</h2>
</td></tr></table>
</asp:Content>

代码1 Subpage.aspx

  代码1中所示的应用程序使用母版页来定义出现在每个页面上的页眉和页脚。子页面通过将Content控件插入母版页的ContentPlaceHolder中,从而在页眉和页脚之间插入内容。您应该注意匹配的ID和ContentPlaceHolderID,以及母版页中的@ Master指令。

  母版页在ASP.NET对象模型中得到了充分支持。System.Web.UI.Page类的特点是具有一个名为Master的新属性,该属性使子页面可以用编程方式来引用它的母版页以及在其中定义的控件。母版页可以嵌套,并且可以包含能够在子页面中重写的默认内容。

<asp:ContentPlaceHolder ID="Main" RunAt="server">
 This is default content that will appear in subpages unless explicitly overridden
</asp:ContentPlaceHolder>

  此外,应用程序可以在Web.config中指定默认的母版页,如下所示:

<configuration>
<system.web>
 <pages masterPageFile="~/Foo.master" />
</system.web>
</configuration>

  单个子页面享有重写默认母版页和指定它们自己的母版页的自由。

  最精彩的部分是Visual Studio 2005中对母版页的支持。当加载子页面时,IDE将显示母版页中定义的内容的灰色、只读版本,以及子页面中定义的内容的全色、完全可编辑版本。区分这两者很容易,并且如果要编辑属于母版页的内容,那么您需要做的全部事情只是在IDE中打开母版页。

  有关母版页的更多深入内容,请参阅相关的文章。

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2006/07/08/445717.html

母版页(Master Pages)--轉載相关推荐

  1. MOSS 2007基础:WSS 3.0 中的母版页(Master Pages)和内容页(Content Pages)

    原文地址:http://robgarrett.com/cs/blogs/software/archive/2006/07/03/2065.aspx 这篇很短的文章展示了ASP.NET2.0中的母板页和 ...

  2. 母版页(Master Pages)

    ASP.NET 1.x中最突出的缺点之一是它缺少对页面模板的支持.欠缺的是定义其他页面可以继承的"母版页"能力.开发人员通过使用用户控件(它们可以容易地在页面之间复制)创建页面来弥 ...

  3. 【原】母版页、皮肤、导航 那点事 Master Pages Themes and Navigation Controls FAQ

    最近比较忙,工作几乎无法喘息,突然闲置了一会,想想也好久没有发博客了,得写几篇了,最近好像灵感突然消失了,不管了,先发一篇吧,这篇肯定对大伙要帮助,好的话,您给我顶一个,不好,你也不要保留,直接告诉我 ...

  4. ASP.NET MVC Tip #31: 给 Master Pages 和 User Controls 传递数据

    原文地址:ASP.NET MVC Tip #31 – Passing Data to Master Pages and User Controls 原文作者:swalther 本文译者:QLeelul ...

  5. word另存为html emz和wmz,轉載:如何將offcie 2003文檔(.doc、.xls、.ppt)轉換成mht文檔...

    轉載自:http://www.cnblogs.com/shanyou/archive/2007/11/28/975941.html 要實現 office 文檔轉換成 MHTML 文檔,首先會將 off ...

  6. ASP.net 2.0 Migrating系列 - Master Pages 感触

    ASP.net 2.0 Migrating系列 - Master Pages范维肖 在Visual Web Developer 2005里的新建里多了一个Master Pages,在微软的VWD200 ...

  7. 了解Master Pages库

    aspnet forums界面的最关键的问题首先在于它使用了MetaBuilders的Master Pages 控件. 到http://www.metabuilders.com/Tools/Maste ...

  8. [轉載]Google C++編程風格指南(四):智能指針和其他C++特性

    [轉載]Google C++編程風格指南(四):智能指針和其他C++特性 @ 複雜的人生,複雜的自己. :: 痞客邦 PIXNET :: [轉載]Google C++編程風格指南(四):智能指針和其他 ...

  9. 如何獲得GridView內LinkButton的RowIndex? (初級) (.NET) (ASP.NET) (轉載)

    如何獲得GridView內LinkButton的RowIndex? (初級) (.NET) (ASP.NET) (轉載) Abstract   在.NET 1.x的DataGrid,可以在ItemCo ...

最新文章

  1. maven 学习笔记(一)eclipse+android+maven
  2. 【数据挖掘】基于密度的聚类方法 - DBSCAN 方法 ( K-Means 方法缺陷 | 基于密度聚类原理及概念 | ε-邻域 | 核心对象 | 直接密度可达 | 密度可达 | 密度连接 )
  3. MATLAB Simulink如何实现S-Function builder功能
  4. PHP与C sharp互解加密算法
  5. wdcp安装mysql_安装wdCP,无法连接mysql,解决方法
  6. springboot : Failed to decode downloaded font 和 OTS parsing error
  7. UIControl IOS控件编程
  8. linux 指针什么意思,在linux中获取指向结构设备指针的更简洁方法是什么?
  9. HP-Socket v5.4.4 发布,高性能跨平台网络通信框架
  10. Easy-RSA 3快速入门自述文件
  11. 看了无数文章,今天终于理解这些性能指标了
  12. cocoapods导入第三方库
  13. Riverbed实现云内外的端到端可视化
  14. 08.C语言绘制系统界面
  15. Mac Androidstudio点击打开跳一下就消失
  16. 欢迎使通过网页免费下载全网歌曲【转载】
  17. 为什么 128 KB 的魂斗罗可以实现那么长的剧情?
  18. 微信小程序入门-音乐播放器
  19. 12306自动抢票及自动识别验证码功能(二)
  20. linux-note:Linux Basics

热门文章

  1. xpath-helper: 谷歌浏览器安装xpath helper 插件
  2. 下拉框——把一个select框中选中内容移到另一个select框中遇到的问题
  3. Python基础笔记,后续更新
  4. 快速完成和读懂测试计划
  5. java类加public和不加public
  6. linux添加三权,基于SELinux的三权分离技术的研究
  7. java手动切换成独立显卡_JAVA设计模式之调停者模式
  8. Python 内置函数之 open (文件操作)
  9. matlab数值很小出错,求大神帮忙解决一下,用MATLAB求解动力学数据总是出错~ - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  10. php laypage,layui laypage组件常见用法总结