Control.RaiseBubbleEvent(Object, EventArgs) 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将所有事件源及其信息分配给控件的父级。
protected:
 void RaiseBubbleEvent(System::Object ^ source, EventArgs ^ args);protected void RaiseBubbleEvent(object source, EventArgs args);member this.RaiseBubbleEvent : obj * EventArgs -> unitProtected Sub RaiseBubbleEvent (source As Object, args As EventArgs)参数
- source
- Object
事件源。
示例
下面的代码示例演示如何创建自定义类 , ChildControl重写 Button.OnClick 方法以调用 RaiseBubbleEvent 将事件发送到 Button.Click 其父级 ASP.NET 服务器控件的方法。 当用户单击包含 实例ChildControl的 ASP.NET 页中的按钮时,它会在包含 实例ChildControl的父控件上引发 OnBubbleEvent 方法,并将字符串“调用 ChildControl 类 OnClick 方法”写入页面。
public class ChildControl : Button
{
   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
   protected override void OnClick(EventArgs e) 
   {
      base.OnClick(e);
      Context.Response.Write("<br><br>ChildControl's OnClick called.");
      // Bubble this event to parent.
      RaiseBubbleEvent(this, e);
   }
Public Class ChildControl
   Inherits Button
   
   <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
   Protected Overrides Sub OnClick(e As EventArgs)
      MyBase.OnClick(e)
      Context.Response.Write("<br><br>ChildControl's OnClick called.")
      ' Bubble this event to parent.
      RaiseBubbleEvent(Me, e)
   End Sub
End Class
注解
ASP.NET 服务器控件(如 Repeater) DataList 和 GridView Web 控件可以包含引发事件的子控件。 例如,控件中的每一 GridView 行可以包含模板动态创建的一个或多个按钮。 嵌套控件中的事件不是每个按钮单独引发事件,而是“气泡化”-也就是说,它们被发送到控件的父级。 父级反过来会引发名为 RowCommand 的泛型事件,其中包含参数值。 通过这些值,可以确定引发原始事件的单个控件。 通过响应此单个事件,可以避免为子控件编写单独的事件处理方法。
虽然无法替代此方法,但你创作的控件可以通过重写 OnBubbleEvent 方法来处理或引发气泡事件。