ASP.NET内容页中访问母版页中的对象
在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内容页中访问母版页中的对象的更多相关文章
- 041. asp.net中内容页访问母版页中的控件
母版页运行机制: 用户通过输入内容也的URL来请求某个页面, 获取该页面后, 读取@Page指令, 如果该指令引用了一个母版页, 则也读取该母版页, 如果也是第一次请求这两个页面, 则母版页和被请求的 ...
- asp.net模板页实现类似jquery中document.ready
模板页先判断是否有方法DocumentReady,有的话就调用 1.模板页 <script type="text/javascript" language="jav ...
- .net中的母版页中使用FindControl的使用
前几天,遇到一个字段比较多的用户填写的页面(数据库表中就将近100个字段),怎么讲这些input的标签的值,保存数据库了?(使用的是母版页下面的aspx,不包括前段获取input的值,传给后台) 作为 ...
- 8051单片机中访问int中字节的方法
在使用单片机中,unsigned int 占2个字节,unsigned char 占一个字节.而单片机是实行的字节寻址.16字节的bit寻址实在是不好用, 不好用在不能建数组. 在实际的开发过程中,要 ...
- 局域网中访问mac中的linux虚拟机服务
然后到虚拟机的linux系统上面执行ifconfig查看linux系统的IP地址,访问这个地址就能访问mac里面的虚拟机
- C#中在内容页获取其模板页中的变量,或者值
在CSDN的博文中看到了 muziduoxi 的文章:http://blog.csdn.net/muziduoxi/article/details/5386543 虽然里面提到的方法没有解决我的难题, ...
- ASP.NET 母版页和内容页的加载顺序
Master 模板页Content 内容页如果希望Master页面的数据传给Content页面,请Init如果希望Content页面的数据传给Master页面,请重载Load具体细节不多说了,看下面页 ...
- 042. asp.net使用缓存来提高母版页的访问性能
Asp.Net缓存技术是一项非常重要的技术, 当一个页面被频繁的访问, 如果不使用缓存技术, 那么每访问一次就要回发一次服务器, 显然这样对服务器造成很大的负担, 所以, 可以在被频繁访问的页面中设置 ...
- net中使用母版页
.net中使用母版页的优点 母版页提供了开发人员已通过传统方式创建的功能,这些传统方式包括重复复制现有代码.文本和控件元素:使用框架集:对通用元素使用包含文件:使用 ASP.NET 用户控件等.母版页 ...
随机推荐
- #PHP 数组添加元素、统计数组相同元素个数、改变数组key值~_~
一.数组添加元素 1.定义和用法: array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度. 2.语法: array_push(array,value1, ...
- css modules
https://juejin.im/post/5aa727fc518825364001159b http://www.ruanyifeng.com/blog/2016/06/css_modules.h ...
- 递归迭代vector三种方法实现二路归并排序
https://mp.csdn.net/mdeditor/84933084# 附链接
- (转)bash条件判断之if语句
http://blog.51cto.com/64314491/1629175---------bash条件判断之if语句(一) http://blog.51cto.com/64314491/16292 ...
- Fiddler使用一(Fiddler简介)
参考文章:http://blog.csdn.net/ohmygirl/article/details/17846199 1.为什么是Fiddler? 抓包工具有很多,小到最常用的web调试工具fire ...
- Object-c 中的数据类型
导航: 基本类型 ID 对象类型常见的有 对象类型 -NSLog -NSNumber -NSString和NSMutableString -NSArray和NSMutableArray -NSSe ...
- 【Qt开发】更改应用程序图标和任务栏图标
说明 实际开发过程中,生成的应用文件不会用默认的图标,同时程序启动后任务栏的图标也需要修改,还有窗口的图标,这样显得程序不那么low.更改程序的图标有多种方式,基于Qt Creator或vs开发的方式 ...
- oracle set命令详解
SQL>set colsep '|'; //输出分隔符eg.SQL> set colsep '|';SQL> select * from dept; DEPTNO|DNAME ...
- web_02Java ee实现验证码,网站访问次数功能
Web Web_02版本: 实现功能 1,验证码 2,网站访问次数统计 设计内容 1,servlet 2,jsp 3,js *重点 1,验证码相关: 1,Servlrt类实现验证码的生成 CheckC ...
- vue+cordova项目
教你用Cordova打包Vue项目 现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app.据我现在的了解打包Vue项目目前流行的就是使 ...