内容页响应母版页控件的事件
来源:互联网 发布:如何开一家淘宝店铺 编辑:程序博客网 时间:2024/04/28 21:02
内容页响应母版页控件的事件
在内容页里面,如果想响应位于母版页的控件的事件,该怎么办呢?
MSDN开宗明义地告诉我们:对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。
那是否意味着内容页中不能处理母版页控件的事件?如果不行的话,真不方便!
不过我试了一下,发现只要将我们希望执行的函数委托给该控件的事件就可以。
比如说,在母版页中有个按扭
<asp:ButtonID="Button1" runat="server" Text="Button"/>
那么在内容页中可以在Page_Load里委托函数:
protected void Page_Load(object sender, EventArgs e)
{
Button B1 = (Button)Page.Master.FindControl("Button1");
B1.Click += new EventHandler(B1_Click);
}
然后将自己希望执行的代码放在函数B1_Click里:
protected void B1_Click(object sender, EventArgs e)
{
Response.Write("Hello World!");
}
运行以后,按下Button1,页面即会显示Hello World!
如果母版页中也有该按扭Click事件:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("Hello BeiJing!");
}
那么这两个函数都会执行。顺序是先母版页,后内容页。
事件本质上是一个委托。委托这个东西,我的理解是一个函数的执行器,将函数传给它(委托给它,+=),就会按照先后顺序执行。委托就好比一支手枪,函数就好比子弹。只要子弹尺寸口径合适(函数的参数、类型符合声明),不管是中国造的子弹,还是德国造的子弹,都可以打出去。给一发打一发,给两发打两发。
另外,访问母版页的控件,可以通过类似(Button)Page.Master.FindControl("Button1");的方式。如果想访问母版页的属性,需要在内容页加入类似一句:<%@MasterType virtualpath="~/Master/list.master"%>
然后就可以通过 Master.属性的方式访问了。注意前面没有Page.。
- 内容页响应母版页控件的事件
- 内容页响应母版页控件的事件
- 母版页,内容页,控件 事件执行顺序
- 解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
- 解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
- 母版页与内容页的控件之间的访问
- 母版页与内容页的控件之间的访问
- 在内容页中修改母版页控件的属性
- 分别设置母版页和内容页控件的值
- asp.net内容页如何获取母版页的控件
- 内容页访问母版页的属性及控件
- 引用asp.net母版页后,母版页和内容页的页面事件执行顺序
- asp.net母版页获取内容控件的值
- asp.net 对母版页的控件事件
- 修改母版页的内容
- [vs2005sp1]解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
- treeView 含有母版页 不能响应OnSelectNoteChanged事件
- 含有嵌套母版页的项目中从内容页修改顶层母版页的控件和属性
- [专辑]树状数组[updating]
- 监听器Listener应用举例
- DevEXpress中的GridControl 的使用方法
- 用Emacs MUSE生成HTML报告时包含数学公式
- 【9.8】
- 内容页响应母版页控件的事件
- CSLA支持大文件上传时web服务器端web.cong配置
- string小code
- 待机、睡眠、休眠的区别
- 了解NSTimer
- RCU机制
- 试用 visual studio 2012 , 夜间主题用起来确实很帅气啊...
- 高性能WEB开发 - web性能测试工具推荐
- 验证简单邮箱并提交到后台,验证邮箱不通过则按钮是不可以用(disabled)