单个ASP.NET UserControl事件的多个订阅者?
发布时间:2020-12-16 07:44:47 所属栏目:asp.Net 来源:网络整理
导读:我对我页面上的事件管道问题感到困惑.我有一个ASP.NET UserControl,它监视一些浏览器端事件,并将它们作为UpdatePanel async-post-backs引发到服务器.我们称之为EventPump.它包括一些用于管理事件的 JavaScript和服务器端控件.它很棒. 我在同一页面上有几个其
我对我页面上的事件管道问题感到困惑.我有一个ASP.NET UserControl,它监视一些浏览器端事件,并将它们作为UpdatePanel async-post-backs引发到服务器.我们称之为EventPump.它包括一些用于管理事件的
JavaScript和服务器端控件.它很棒.
我在同一页面上有几个其他控件,彼此不了解但想订阅EventPump引发的一些事件.通常,一个控件将通过在其标记中包含该控件并对事件进行布线来订阅另一个事件.但在这种情况下会给我多个EventPump实例,这是我不想要的. 如何让多个UserControl订阅公共EventPump控件的事件? 解决方法
我能想到的一些其他选择:
>代码到接口,因此EventPump控件实现了具有各种公共事件的IEventPump.包含页面使用一个名为EventPump的属性实现IEventPumpContainer,它允许所有其他用户控件进行如下注册: ((IEventPumpContainer)Page).EventPump.MyEvent += MyEventHandler; >如果页面知道需要订阅的控件,则可以在事件触发时调用控件上的相应方法.例如: EventPump.MyEvent += (s,e) => SomeControl.SomeMethod(); >或者可以说更好的是使事件成为头等公民,并拥有一个可用于订阅和提升事件的事件调度程序.例如: Events.Register<MyEvent>(e => TextBox.Text = "MyEvent Happened"); ... Events.Raise(new MyEvent()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 部署ASP.Net MVC应用程序的最便宜的方法是什么?
- asp.net-mvc – 在每个请求上执行代码
- asp.net – 从网页打印条形码标签
- asp.net-mvc – 我可以从Model类(而不是控制器)添加ModelSt
- asp.net – 正则表达式,用于标识0.0到1.0之间的小数
- asp.net-mvc-4 – ASP .Net MVC 4 Authorize和AllowAnonymo
- asp.net-web-api – 如何存储Web API访问令牌?
- asp.net部署到IIS常见问题的解决方法
- .NET Core采用的全新配置系统[4]: “Options模式”下各种类
- asp.net – 调用HttpClient.GetAsync时出错:基础连接已关闭
推荐文章
站长推荐
- asp.net-mvc – MVC模式DDD模式
- asp.net – Windows Azure缓存预览
- asp.net-mvc – 用于支持多种语言的ASP MVC技术
- asp.net – 使用string.format绑定到文本框
- ASP.NET Core框架揭秘(持续更新中…)
- asp.net-mvc – ASP.NET MVC 2发行版本的实际调试
- asp.net-mvc-3 – 超时在ASP.Net MVC FormsAuthe
- asp.net-mvc-3 – ASP.NET MVC3的AntiForgeryTok
- 使用带数组的ASP.NET中继器?
- 如何强制asp.net GridView控件包装标签中的第一行
热点阅读