实现Master Page

13、ASP.NET 控件与页面设计:MultiView 与 Master Page 的应用 本文探讨了 ASP.NET 中 MultiView 控件与 Master Page 的应用,介绍了 MultiView 如何通过多个 View 管理页面内容切换,以及 Master Page 如何帮助网站保持统一的外观和风格。文章还分析了两者的优势及其协同工作方式,为开发功能丰富且一致性强的 Web 应用提供了实用指导。 阅读详情

实现Master Page

 


在ASP.NET v2.0中,Master Page实现为一个Web页面,其中包含内容页面可以使用的默认外观和操作方式。多个内容页面只需提供合并到Master Page中的内容标记,即可使用这个Master Page的统一外观和操作方式。本节的示例将使用VS 2005创建一个Master Page和简单的内容页面。
首先,创建一个新的Web项目,删除自动创建的Default.aspx页面。后面在创建使用Master Page的内容页面时,将再次创建Default.aspx。
(1) 要创建Master Page,在Solution Explorer中右击Web项目,选择Add New Item,再选择Master Page,给它指定名称Company.master,然后单击OK按钮。这将创建一个新的Master Page。
(2) 如果Master Page在HTML视图中,就单击编辑器左下角的Design按钮,把它切换到设计视图。选择Layout | Insert Table,给Company.master添加一个新表。
(3) 在Insert Table对话框中,选择Template,再从下拉列表中选择“Header, footer and side”,如图1-9所示。
(4) 表添加到页面上后,选择最上面一行的单元格,输入“My Company Header”,选择第二行的第一个单元格,输入“Menu Goes Here”,再选择第三行(最后一行)的单元格,输入“Copyright (C) 2006 My Company, All Rights Reserved”。
(5) 第一次创建Master Page时,它会自动添加一个ContentPlaceHolder控件。Company. master也是如此。把ContentPlaceHolder控件拖放到刚才插入Company.master的表中第二行的第二个单元格中。结果如图 1-10所示。
图  1-9
图  1-10
创建和修改Company.master后,就可以单击编辑器左下角的HTML按钮,查看自动生成的HTML代码了。程序清单1-4列出了为Company.master进行上述修改后的HTML。
程序清单1-4  格式化定制页面元素的Master Page:Company.master
<%@ Master Language="C#" AutoEventWireup="true"
CodeFile="Company.master.cs" Inherits="Company" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>My Company</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table border="0" cellpadding="0" cellspacing="0"
               style="width: 100%; height: 100%">
            <tr>
                <td colspan="2" style="height: 200px">
                    <h1>My Company Header</h1>
                </td>
            </tr>
            <tr>
                <td style="width: 200px">
                    Menu Goes Here</td>
                <td>
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        </asp:contentplaceholder>
                </td>
            </tr>
            <tr>
                <td colspan="2" style="height: 200px">
                    Copyright (C) 2006 My Company, All Rights Reserved
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>
在程序清单1-4中,首先要注意,在页面的顶部包含一个Master指令。如codefile和inherits特性所述,可以给Master Page添加一个代码文件。该页面的大多数内容都是HTML格式化标记。
这个页面的另一个相关部分是contentplaceholder元素。可以在这里放置默认内容,但内容页面将使用id指定其内容显示在什么地方,这将覆盖默认的内容。
现在可以将这个Master Page用于任意内容页面了。创建内容页面的过程与创建其他Web窗体非常相似。在Solution Explorer中右击Web项目,选择Add New Item,再选择Web Form,接受推荐的名称Default.aspx。选中Select Master Page选项,最后单击OK按钮。程序清单1-5列出了修改后的新内容页面。
程序清单1-5  使用Master Page的内容页面: Default.aspx
<%@ Page
    Language="C#"
    MasterPageFile="~/Company.master"
    AutoEventWireup="true"
    CodeFile="Default.aspx.cs"
    Inherits="_Default"
    Title="Content Page" %>
   
    <asp:Content ID="Content1"
                 ContentPlaceHolderID="ContentPlaceHolder1"
                 Runat="Server">
        <h2>This is my content.</h2>
    </asp:Content>
程序清单1-5中的两个有趣的地方是MasterPageFile特性和Content元素。Page指令包含一个新特性MasterPageFile,它指定要使用的Master Page的文件名。
在程序清单1-5中,显然内容页面没有像一般Web 窗体那样的HTML标记。相反,用ContentPlaceHolderID特性指定contentplaceholder的id(在Master Page中),就可以添加一个Content元素,指定在Master Page的什么地方放置内容标记。只有Content元素中的标记才显示在Master Page中。
由于没有一般的HTML标记,例如Head,所以要用Head标题元素中的内容设置Page指令的Title特性。
 
掌握*** 2.0:使用Master Page和皮肤实现主题化设计 本文还有配套的精品资源,点击获取 简介:*** 2.0是一个简化Web开发的框架,通过引入Master Pages、Themes和Skins来提高页面布局和样式管理的效率。本教程将指导如何创建统一的布局模板、集中管理页面样式以及定义控件外观属性。掌握这些特性,开发者能够构建出结构清晰、样式统一且易于维护的Web应用。 1. *** 2.0 Master Page与... 阅读详情

相关推荐

Master Page

Master Page used to customize global navigation

ASP.NET 学习笔记 之 MasterPageFile母版页

MasterPageFile其实是定义一个了外围的框架的页面,并且在里面设定了具体内容存放的位置。举例来说,MasterPageFile 就相当于相框的功能。网站的真正具体页面实际是由MasterPageFile(相框)和内容页面(照片)组成。 最常见的应用就是网站的顶部导航栏和底部的CopyRight声明栏。可以把顶部导航栏和底部的CopyRight声明栏都放到MasterPageFil

lwj0310的专栏 4382

JMeter 压测实战全教程

脚本结构:测试计划 → 线程组 → HTTP 请求 → 监听器运行方式:图形化调试,命令行生产压测核心指标:QPS、RT、错误率、CPU、GC。

weixin_48309090的博客 651

MasterPageFile 模板页使用总结

MasterPageFile 模板页使用总结 1.模板页扩展名为Master,内容页引用模板页的方法: 2.动态改变内容页所引用的模板页 通常在Init事件下改变: protected void Page_PreInit(object sender,EventArgs e) {this.MasterPageFile="~/ABC.master";} 3.在内容页中使用模板页中

晓春明月 8439

R以及Rstudio超详细安装教程(包括安装过程中出现的问题)

R安装及Rstudio安装,以及安装中出现的问题

2301_76908257的博客 1万+

LCD工程师必看:Pixelclock、Mipi Clk计算全解析(附实用公式)

本文为LCD工程师详细解析了像素时钟(Pixelclock)与MIPI时钟(Mipi Clk)的核心计算方法。文章从时序参数构成入手,通过实战公式推导,系统阐述了从屏幕分辨率、刷新率到最终MIPI速率的高效计算链路,并提供了实用的调试思路与排查清单,帮助工程师快速解决画面撕裂、闪烁等常见问题。

weixin_29266679的博客 388

Master Page 实现换肤

在asp.net 2.0 中 用 Theme 很容易实现换肤,但也紧限于,文字,背景,图片之类的,要用它来改变布局就比较麻烦。Master Page 在众多教程中并没提到用它来改变变局,呵呵,现在我们用它来轻松实现布局(在配合Theme 可实现强大的换肤功能)。 代码又少又简单,就不做说明了,点击下载演示 。效果图如下: 转载于:https://www...

weixin_33819479的博客 73

麒麟V10 x86_64系统下Qt 5.12.7安装全攻略(附常见报错解决方案)

本文详细介绍了在麒麟V10 x86_64系统上安装Qt 5.12.7的完整流程,包括在线和离线两种安装方案,并提供了常见报错的解决方案。从环境准备到项目配置优化,再到高级调试技巧,全面覆盖Qt开发在国产操作系统上的实践要点,帮助开发者高效搭建开发环境。

weixin_29294395的博客 508

【原】关于如何在Master Page中实现当前激活项与页面相对应

最近我在做站点的时候,遇到一个小问题,如何使当前选中的页面激活项和页面对应,然后就简单的写了一个小小的示例,废话少说,直接看demo: Main.Master<%@MasterLanguage="C#"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org...

weixin_30361641的博客 130

SAR型ADC的电荷重分配技术解析

本文深入解析了SAR型ADC的核心技术——电荷重分配。通过类比“猜数字”游戏,阐述了其逐次逼近的工作原理,并重点剖析了电容阵列如何实现高速、低功耗的模数转换。文章还探讨了该技术在速度、能效及集成度方面的优势,并指出了电容匹配精度等实际挑战,为嵌入式与物联网设备中的ADC选型与应用提供了实用指南。

nnn11的博客 906

Steam崩溃:ntdll.dll报错0xc0000374...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1156

通过模板页master page和主题theme来实现网站的风格切换

Web站点风格切换的实现引言<br />Web站点的风格切换是很常见、也很受大家欢迎的功能,比如大家熟知的博客园就提供了几十款风格模板供大家选择。在Asp.Net中,我们可以通过模板页master page和主题theme来实现网站的风格切换,但是.Net提供的默认设置不够强大和灵活。本文将向大家介绍如何在.Net提供的方法上进行改进和扩展,以提供更加强大的网站风格切换功能。<br />NOTE:本文将master page称为模板(有的书上叫母版),将theme称为主题。网页的结构 和 模板、主题配置的局

GoodShot的专栏 4707

PostgreSQL 实战:行级安全策略(RLS)详解

PostgreSQL的行级安全(RLS)机制实现了细粒度的数据访问控制,通过动态过滤行数据满足多租户隔离、隐私保护等需求。本文系统介绍了RLS的核心原理、配置方法及实践建议:1) 启用RLS后需定义策略,通过USING和WITH CHECK条件控制访问;2) 适用于SaaS、医疗金融等场景,但需注意COPY命令、外键等特殊情况;3) 建议配合会话变量、索引优化和文档化策略使用。文章还提供了多租户隔离等实战案例,并分析了RLS对查询性能的影响及优化方案。RLS将安全控制下沉至数据库层,显著提升应用安全性和可维

数据知道的博客 3149

[导入]在自定义WebUserControl中访问PAGE/master/或其它控件中的对象

在自定义WebUserControl中访问PAGE/master/或其它控件中的对象文章来源:http://blog.youkuaiyun.com/chsword/archive/2006/12/25/1461165.aspx

weixin_34236497的博客 113

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4948

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

How to access Master page controls from the Content page

How to access Master page controls from the Content page At first, use the Page.Master property to get a reference to the actual master page instance, the use the Master.FindControls method t...

weixin_30341735的博客 78

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

SharePoint Application Page启用匿名访问

现在的项目需要使用sharepoint application page来展示图片影像,并让其它应用系统匿名访问,经过一番认真研究,主要有下面的步骤: 1. 在web applicaiton level 启用你们访问 1.1 进入SharePoint center applicaiton 站点,选择要启用匿名访问的web applicaiton,然后点击“身份验证提供程序” ...

weixin_34152820的博客 371

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

AJAX第十天

在母版页中使用UpdatePanel控件 这个例子很简单了,在母版页中放一个ScriptManager,注意不要放在ContentPlaceHolder里面,然后在一个ContentPage页中,加入一个UpdatePanel,并在UpdatePanel里放一个日历控件,运行显示,点日历控件中的上下月时,页面并没有刷新。 通过MasterPage刷新UpdatePanel ...

abao88111的博客 118

Xamarin Dropdown menu

Xamarin Dropdown menu

我的英文站点:https://iorilan.medium.com/ 2944

Master Page 的原理分析, IParserAccessor.AddParsedSubObject 方法

当一个 ASP.NET 页面的请求发生时,Page 对象初始化的次序是constructor -> AddParsedSubObject -> ...可见 AddParsedSubObject 这个方法会较早被调用。System.Web.UI.Control 类实现了 IParserAccessor 接口,它对此接口实现如下:(通过 Reflector 看到的) voidIPa...

weixin_30398227的博客 68

内容页访问母版页属性的方法之一(Master.FindControl())

 由于先加载内容页,后加载母版页。所以不能用常规的方法在内容页中直接访问母版页的属性和方法。但是asp.net2.0还提供了一个Page_LodeComplete()方法,我们可以在此函数内用Master.FindControl(控件ID)来访问母版页的属性和方法。如在母版页中有一个Label控件,ID为lblTime,记录当前的时间.同理,在内容页中也有一个同样的Label控件,也记录时间,

GreenOfBamboo的专栏 1392
上一篇: ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
下一篇: Visual Studio.NET 2005项目模板和控件模板丢失解决办法
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值