一、使用多种方式为内容页加载母版页
默认情况下是给单个内容页指定一个母版页加载,当多个内容页需加载到同一个母版页时,我们可以通过配置文件为多个内容页批量加载母版页,另外,还可以在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;}
}

asp.net访问母版页控件方法的更多相关文章

  1. jacob访问ocx控件方法和遇到的问题

    最近在进行摄像机的二次开发,摄像机厂商提供了使用C++开发的ocx控件:所以尝试使用jacob来进行访问. 操作步骤如下: 1, 从官网(http://sourceforge.net/projects ...

  2. ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...

  3. 多线程访问winform控件出现异常的解决方法

    一.  多线程访问winform控件出现异常的解决方法 1.  问题描述<1> 如果创建某控件的线程之外的其他线程试图调用该控件,则会引发一个 InvalidOperationExcept ...

  4. asp.net js获取控件ID

    ClientID是由ASP.Net生成的服务器控件得客户端标识符,当这个控件生成到客户端页面的时候,在客户端代码访问该控件时就需要通过ClientID来访问. 以文本框为例: 一.未使用母版页 js可 ...

  5. (九)ASP.NET自定义用户控件(2)

    http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 用户控件 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗 ...

  6. asp.net中Repeater控件用法笔记

    大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ...

  7. 轻松学习Asp.net中的控件

    C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件 ...

  8. 十三、asp.net中Repeater控件用法笔记

    大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ...

  9. Access Grid Control Properties 访问网格控件属性

    In this lesson, you will learn how to access the properties of a list form's Grid Control in WinForm ...

随机推荐

  1. poj1664 放苹果(递归)

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1664 ------ ...

  2. lua编译出liblua.so

    偶遇一个事情,需要在C里面嵌入Lua代码,这真是痛苦了我好久…. 不知道为啥lua默认编译没有生成.so 的动态链接库,需要修改Makefile生成liblua.so,我用的版本是5.2 一.先修改根 ...

  3. python3 module中__init__.py的需要注意的地方

    网上关于__init__.py的作用的资料到处都是,我在此就不再啰嗦哪些了. 若有需要.请各位看官去搜搜即可. 最近刚开始用Python3 就遇到了这个比较有意思的事情 闲言少叙,下面要介绍的是pyt ...

  4. 【计算几何初步-判断是否凸多边形】【HDU2108】Shape of HDU

    Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. 【水题递归】【HDU2044】我大沙茶了

    有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示.   Input 输入数据的第一行是一个整数N,表示测试实例的个数, ...

  6. Windows下Vundle安装

    鼠标手老是发作,没办法.想学习vim尽量减少编码时使用鼠标的频率.安装好gVim开始安装Vundle插件,总结下安装过程和各种遇到的坑: github上VundleVim倒是有说明 Windows S ...

  7. 一段简单c程序的汇编语言学习(ubuntu+x86)

    c程序代码: #include <stdio.h> int main(void) { int i=0, j=0; for(i=0; i<8; i++) j=j+1; return 0 ...

  8. Java之利用Socket获取网站内容

    public void main(String[] args){ String host = "123.126.113.42"; int port = 80; Socket s = ...

  9. 国外程序员收集整理的PHP资源大全

    依赖管理 依赖和包管理库 Composer/ Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其 ...

  10. js 跨域的使用

    try{document.domain="jincin.com"}catch(error){} 需要在被调用的函数和调用函数出都要加入上面相同的语句 下面看一下第二种跨域的解决方案 ...