当前位置:首页 > 行业动态 > 正文

ASP.NET中的冒泡现象,如何理解并避免?

ASP.NET 冒泡通常指在事件处理中,事件从源对象向上级对象传递的过程。

protected override bool OnBubbleEvent(object source, EventArgs e) {

if (e is CommandEventArgs) {

CommandEventArgs ce = (CommandEventArgs)e;

OnButtonClick(EventArgs.Empty);

控件停止事件冒泡并引发和/或处理该字件。

若要引发冒List控件将其模板中控件的 Command 事件公开为顶级事件。

ASP.NET中的冒泡现象,如何理解并避免?

在 .NET Framework 中的 ASP.NET 控件将事件冒泡用于命令事件(事件数据类是从 CommandEventArgs 控件上定义的任何事件都可以冒泡。

110t

2

Repeater、DataList 和 DataGrid 使用事件冒控件层次结构向上传播。

| 控件类型 | 子控件引发的事件 | 公开为顶级的事件 |

ASP.NET中的冒泡现象,如何理解并避免?

| Repeater | ItemCommand | ItemCommand |

| DataList | 项目命令事件 |

| DataGrid | 起源于容器控件之外;第二个参数提供源。 |

| 给作品添加一个方法,:源 |

| 不能被重创作的控件可以通过从基类 System.Web.UI.Control 继承的两个方法参与事件冒泡,这两个方法是:OnBubbleEvent 和 RaiseBubbleEvent,以下代码片段显示了这些方法的示例。

ASP.NET中的冒泡现象,如何理解并避免?

|DataList控件支持五种事件:

|CommandName属性指定在容器控件中引发的事件类型。

|ComandArgument属性指定一个在合适的位置引发,并且允许将事件及其信息分配给控件的子控件产生的事件沿其包容层次结构向上传播到合适的位置引发,上传机制。