如何在ASP.net中取消事件冒泡?
发布时间:2020-05-24 09:15:30 所属栏目:asp.Net 来源:互联网
导读:是否可以阻止ItemCommand或控件事件冒泡控制层次结构?我有一个控件,其中包含子用户控件,可能已经或可能没有处理其ItemCommand事件的代码.我想要做的是允许子控件在它已经在其代码隐藏中处理事件的情况下决定不将ItemCommand传递给父控件. 谢谢, 麦克风 在用
|
是否可以阻止ItemCommand或控件事件冒泡控制层次结构?我有一个控件,其中包含子用户控件,可能已经或可能没有处理其ItemCommand事件的代码.我想要做的是允许子控件在它已经在其代码隐藏中处理事件的情况下决定不将ItemCommand传递给父控件. 谢谢, 麦克风 解决方法在用户控件类中,重写OnBubbleEvent().如果返回true,则会停止向父控件“冒泡”.protected override bool OnBubbleEvent(object source,EventArgs args)
{
//handled
return true;
//uncomment line below to bubble up (unhandled)
//return base.OnBubbleEvent(source,args);
}
另一个有点整洁的事情是我在修补这个时发现的,这在某些情况下可能很有用……你可以在控件heirachy中更改“冒泡”的命令名称.在您的子用户控件中,使用OnCommand而不是Onclick. 因此,假设您的用户控件中有一个按钮,请更改以下代码: <asp:button id="mySpecialButton"
onClick="mySpecialButton_OnClick" runat="server">
对此: <asp:Button id="mySpecialButton"
CommandName="mySpecialCommand"
CommandArgument="myArgument"
OnCommand="mySpecialButton_Command"
runat="server"/>
那么在代码隐藏中, protected void mySpecialButton_Command(object sender,CommandEventArgs e)
{
RaiseBubbleEvent(this,new CommandEventArgs("Handled",e));
}
因此,在父控件的ItemCommand处理程序中,您将获得此新命令名称而不是子控件中的原始命令名称,您可以根据需要使用该名称. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何使用MSBuild部署一个ASP.NET MVC应用程
- asp.net-mvc-2 – EditorFor – 传入字典的模型项目的类型为
- asp.net-mvc – 如何在ASP.Net MVC 3中可选地呈现一个部分?
- asp.net-mvc – ActionResult上的自定义属性
- ASP.NET rdlc,外部图像不显示PDF格式的图像
- asp.net-mvc – Azure ACS 2自定义域
- asp.net-web-api – WebApi 2超出最大请求长度
- asp.net-mvc – 使用cookie在ASP MVC中存储会话
- Mono,asp.net c#和MVC如何和教程
- 为什么asp.net OnTextChanged不工作
推荐文章
站长推荐
- asp.net – 插入后在实体框架中获取记录ID
- asp.net – Html.RenderAction和Html.Action之间
- 通过LAN调试ASP.NET云项目
- asp.net-mvc-4 – 会话到期后重定向到特定页面(M
- asp.net – 如何获得大型LinkedIn图像共享格式
- asp.net-mvc – 首次使用ASP.NET MVC时的主要风险
- entity-framework – 将DbContext注入Repository
- 与asp.net mvc的dotnetopenauth证明太沮丧使用
- asp.net – Visual Studio开发服务器不更新css和
- asp.net-mvc-2 – JavaScriptSerializer没有正确
热点阅读
