`
yangshen998
  • 浏览: 1247228 次
文章分类
社区版块
存档分类
最新评论

内容页响应母版页控件的事件

 
阅读更多

内容页响应母版页控件的事件

左直拳

在内容页里面,如果想响应位于母版页的控件的事件,该怎么办呢?

MSDN开宗明义地告诉我们:对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。

那是否意味着内容页中不能处理母版页控件的事件?如果不行的话,真不方便!

不过我试了一下,发现只要将我们希望执行的函数委托给该控件的事件就可以。

比如说,在母版页中有个按扭

<asp:Button ID="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 <city w:st="on"><place w:st="on">BeiJing</place></city>!");

}

那么这两个函数都会执行。顺序是先母版页,后内容页。

事件本质上是一个委托。委托这个东西,我的理解是一个函数的执行器,将函数传给它(委托给它,+=),就会按照先后顺序执行。委托就好比一支,函数就好比子弹。只要子弹尺寸口径合适(函数的参数、类型符合声明),不管是中国造的子弹,还是德国造的子弹,都可以打出去。给一发打一发,给两发打两发。

另外,访问母版页的控件,可以通过类似(Button)Page.Master.FindControl("Button1");的方式。如果想访问母版页的属性,需要在内容页加入类似一句:<%@ MasterType virtualpath="~/Master/list.master" %>

然后就可以通过 Master.属性 的方式访问了。注意前面没有Page.

分享到:
评论

相关推荐

    ASP.NET3.5从入门到精通

    16.3.3 母版页刷新内容窗体 16.4 小结 第 17 章 ASP.NET MVC 基础 17.1 了解MVC 17.1.1 MVC 和Web Form 17.1.2 ASP.NET MVC 的运行结构 17.2 ASP.NET MVC 基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC 应用程序 ...

    ASP.NET 3.5 开发大全11-15

    16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ...

    ASP.NET 3.5 开发大全

    16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ...

    ASP.NET 3.5 开发大全1-5

    16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ...

    ASP.NET 3.5 开发大全word课件

    16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ...

    ASPNET35开发大全第一章

    16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ...

    ASP.net入门教程

    当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。有关更多信息,请参见 ASP.NET 母版页概述。 ASP.NET 编译器 所有 ASP.NET 代码都经过了编译,可提供强类型、...

    DotNetTextBox所见即所得编辑器控件 v3.3.1

    2) 修正控件使用母版页时FIREFOX浏览器无法使用的BUG。 3)修正上传页面的一处语言显示BUG。 4) 修正当上传索引GIF文件时显示错误信息的BUG。 5) 增加上传远程图片到服务器的选项,并且远程图片同样...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    4.3.10 处理Web控件事件 4.4 List控件 4.4.1 Selectable列表控件 4.4.2 BulletedList控件 4.5 输入验证控件 4.5.1 验证控件 4.5.2 验证流程 4.5.3 BaseValidator类 4.5.4 RequiredFieldValidator...

    ASP.NET4高级程序设计(第4版) 3/3

    4.3.10 处理Web控件事件 114 4.4 List控件 116 4.4.1 Selectable列表控件 117 4.4.2 BulletedList控件 120 4.5 输入验证控件 121 4.5.1 验证控件 121 4.5.2 验证流程 122 4.5.3 BaseValidator类 122...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用MultiView和View控件实现多视图。 5-10.aspx Localize控件显示本地化文本。 5-11.aspx Literal...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 6.4 结构化异常处理的关键字 269 6.4.1 try、catch和finally关键字 270 ...

    Ext+JS高级程序设计.rar

    3.3 创建母版页 38 3.4 首页设计 42 3.5 产品列表页 47 3.6 产品详细信息页 51 3.7 登录对话框 56 3.8 用户注册对话框 61 3.9 购物车对话框 65 3.10 结算 70 3.11 为产品详细页添加评论 77 3.12 本章小结 84 第4章 ...

    零基础学ASP.NET 2.0&源代码绝对完整版1

    5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用MultiView和View控件实现多视图。 5-10.aspx Localize控件显示本地化文本。 5-11.aspx Literal 控件用法举例。 第6...

    ASP.NET 2.0 跟我一起学Visual.Studio2005 1/9

    课程简介:ASP.NET 2.0 除了编译模型的改进之外,针对页面生命周期也公开了新的事件来支持新功能,例如母版页、个性化以及集成的设备支持等。增强的缓存功能,以及扩展性支持,本课程主要对以上几个方面进行阐述。...

Global site tag (gtag.js) - Google Analytics