使用英语阅读

通过


Control.OnBubbleEvent(Object, EventArgs) 方法

定义

确定服务器控件的事件是否沿页的 UI 服务器控件层次结构向上传递。

C#
protected virtual bool OnBubbleEvent(object source, EventArgs args);

参数

source
Object

事件源。

args
EventArgs

包含事件数据的 EventArgs 对象。

返回

如果事件已被取消,则为 true;否则为 false。 默认值为 false

示例

以下示例重写 OnBubbleEvent 自定义 ASP.NET 服务器控件 ParentControl中的 方法。 当 的子控件 ParentControl 调用 方法时,将调用此方法 RaiseBubbleEvent 。 发生这种情况时, ParentControl 类会将两个字符串写入包含 ASP.NET 页,第一个字符串表示已调用其 OnBubbleEvent 方法,第二个字符串标识方法的 RaiseBubbleEvent 源代码管理。

C#
public class ParentControl : Control 
{
   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
   protected override bool OnBubbleEvent(object sender, EventArgs e)
   {
      Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.");
      Context.Response.Write("<br>Source of event is: " + sender.ToString());
      return true;
   }
   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
   protected override void Render( HtmlTextWriter myWriter)
   {
      myWriter.Write("ParentControl");
      RenderChildren(myWriter);
   }
}

注解

ASP.NET 服务器控件(如 RepeaterDataListGridView Web 控件可以包含引发事件的子控件。 例如,控件中的每一 GridView 行可以包含模板动态创建的一个或多个按钮。 嵌套控件中的事件是“气泡”的,而不是每个按钮单独引发事件, 也就是说,它们被发送到命名容器。 命名容器反过来会引发名为 RowCommand 的泛型事件,其中包含参数值。 通过这些值,可以确定引发原始事件的单个控件。 通过响应此单个事件,可以避免为子控件编写单独的事件处理方法。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另请参阅