在ASP.NET2.0开始,提供了母版页的功能。母版页由一个母版页和多个内容页构成。母版页的主要功能是为ASP.NET应用程序中的页面创建相同的布局和界面风格。母版页的使用与普通页面类似,可以在其中放置文件或者图形、任何HTML控件和Web控件、后置代码等。

母版页仅仅是一个页面模板,单独的母版页是不能被用户所访问的。母版页和内容页有着严格的对应关系。母版页中包含多少个ContentPlaceHolder控件,那么内容页中也必须设置与其对应的Content控件。

回顾了母版页的概念后,我今天主要是总结如何在普通的页面中访问与其关联的母版页中的对象(比如说控件的值):

我们知道 Page对象具有一个公共属性Master,该属性能够实现对母版页基类MasterPage的引用;MasterPage相当于普通ASP.NET页面中的Page对象。因此,可以使用MasterPage对象实现对母版页中各个子对象的访问。

具体的程序实例如下:

在一个ASP.NET空网站项目中,添加一个母版页MasterPage1.Master和一个普通页面Default。然后分别在母版页和内容页中添加一个Label按钮。母版页中的Label控件的ID属性为labMaster,用来显示当前系统日期;内容页的Label控件的ID属性为labContent,用来显示(访问)母版页中的Label控件值。
   在MasterPage1.Master母版页的Page_Load事件中添加如下代码:

 protected void Page_Load(object sender, EventArgs e)
{
this.labMaster.Text = "今天是" + DateTime.Today.Year + "年" + DateTime.Today.Month + "月" + DateTime.Today.Day + "日";
}

在Default.aspx内容页中的Page_LoadComplete事件中,添加如下代码:

1 protected void Page_Complete(object sender, EventArgs e)
2 {
3 if (!this.IsPostBack)
4 {
5 //实现普通页面访问模板页中的控件;
6 Label masterLabel = this.Master.FindControl("labMaster") as Label;
7 this.labContent.Text = masterLabel.Text;
8 }
9 }

运行程序后,在内容页的Label控件中就显示了母版页Label.text的值。
   需要注意的是:内容页的Page_Load事件时先于母版页的Page_Load事件引发。所以这里使用的是Page_LoadComplete事件。其中Page_LoadComplete事件是在生命周期内和页面加载结束时触发。

-------------------------------------------------------------------------------------------------------------------------

本文系作者GISQZC原创文章,欢迎转载,但必须注明出处,否则将追究相关法律责任!

ASP.NET内容页中访问母版页中的对象的更多相关文章

  1. 041. asp.net中内容页访问母版页中的控件

    母版页运行机制: 用户通过输入内容也的URL来请求某个页面, 获取该页面后, 读取@Page指令, 如果该指令引用了一个母版页, 则也读取该母版页, 如果也是第一次请求这两个页面, 则母版页和被请求的 ...

  2. asp.net模板页实现类似jquery中document.ready

    模板页先判断是否有方法DocumentReady,有的话就调用 1.模板页 <script type="text/javascript" language="jav ...

  3. .net中的母版页中使用FindControl的使用

    前几天,遇到一个字段比较多的用户填写的页面(数据库表中就将近100个字段),怎么讲这些input的标签的值,保存数据库了?(使用的是母版页下面的aspx,不包括前段获取input的值,传给后台) 作为 ...

  4. 8051单片机中访问int中字节的方法

    在使用单片机中,unsigned int 占2个字节,unsigned char 占一个字节.而单片机是实行的字节寻址.16字节的bit寻址实在是不好用, 不好用在不能建数组. 在实际的开发过程中,要 ...

  5. 局域网中访问mac中的linux虚拟机服务

    然后到虚拟机的linux系统上面执行ifconfig查看linux系统的IP地址,访问这个地址就能访问mac里面的虚拟机

  6. C#中在内容页获取其模板页中的变量,或者值

    在CSDN的博文中看到了 muziduoxi 的文章:http://blog.csdn.net/muziduoxi/article/details/5386543 虽然里面提到的方法没有解决我的难题, ...

  7. ASP.NET 母版页和内容页的加载顺序

    Master 模板页Content 内容页如果希望Master页面的数据传给Content页面,请Init如果希望Content页面的数据传给Master页面,请重载Load具体细节不多说了,看下面页 ...

  8. 042. asp.net使用缓存来提高母版页的访问性能

    Asp.Net缓存技术是一项非常重要的技术, 当一个页面被频繁的访问, 如果不使用缓存技术, 那么每访问一次就要回发一次服务器, 显然这样对服务器造成很大的负担, 所以, 可以在被频繁访问的页面中设置 ...

  9. net中使用母版页

    .net中使用母版页的优点 母版页提供了开发人员已通过传统方式创建的功能,这些传统方式包括重复复制现有代码.文本和控件元素:使用框架集:对通用元素使用包含文件:使用 ASP.NET 用户控件等.母版页 ...

随机推荐

  1. tomcat 搭建以及发布配置

    身为开发人员, 一直干着开发的事情, 只干开发的事情, 却缺少了对于环境部署方面的必备技能的培养, 所以在公司安排的手头任务解决完的情况下, 自己抽空了解并且实践了一下tomcat的配置.写下通过网络 ...

  2. 对路径访问拒绝,要加上具体filename/c.png

    string strPath = Path.Combine(FilePath, DateTime.Now.ToString("yyyy-MM-dd")); if (!Directo ...

  3. 修改ZuulHandlerMapping私有变量pathMatcher,重写match方法,使url匹配兼容正则表达式。

    一.起源 在mocksever中引入了spring cloud zuul做代理转发,如果请求的url和配置的mock规则匹配(精确匹配和模糊匹配),忽略,不做转发.如果mock配置的url和请求url ...

  4. String字符串补位

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. l    ...

  5. C#集合之可观察的集合

    如果需要集合中的元素何时删除或添加的信息,可以使用ObservableCollection<T>类.这个类是为WPF定义的,这样UI就可以得知集合的变化.这个类在程序集WindowsBas ...

  6. 当Appium中遇到alert(python篇)

    当Appium中遇到alert,可以使用switch_to_alert(),以下是微信登录切换登录方式的代码示例: #coding=utf-8 from appium import webdriver ...

  7. 使用chart.js時取消懸浮在圖表頂部的'undefined'標識

    解決方法:在options中設置legend項中display屬性為false options: { scales: { yAxes: [{ ticks: { beginAtZero: true } ...

  8. 本科生毕业论文->计算机类(1)

    写在前面:作为一个计算机类学生,本文只是面向计算机类本科论文进行了一些小经验总结,每个学校的论文要求不一致,具体的参考规范可以看学校的通知,毕业论文作为毕业的一个重要审核标准,写好毕业论文是非常重要的 ...

  9. java websocket client

    websocket是H5新推出的协议,一般用于前端,但是在实际项目中我们需要用java代码来获取一些设备的实时运行数据,在后台处理后推送的前台界面,为了保证实时性,我们需要用到websocket协议, ...

  10. CoreJava笔记之JavaBean、静态方法static和final

    记住两句话: 1.属性是静态绑定到变量类型: 2.方法是动态绑定,由最终对象的方法决定 =============================== 关于JavaBean: 1.不是语法规则,是习惯 ...