Control.RaiseBubbleEvent(Object, EventArgs) 方法

定義

指派事件的任何來源和它的資訊至控制項的父控制項。

protected:
 void RaiseBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected void RaiseBubbleEvent (object source, EventArgs args);
member this.RaiseBubbleEvent : obj * EventArgs -> unit
Protected Sub RaiseBubbleEvent (source As Object, args As EventArgs)

參數

source
Object

事件的來源。

args
EventArgs

包含事件資料的 EventArgs 物件。

範例

下列程式碼範例示範如何建立自訂類別 , 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 伺服器控制項,例如 RepeaterDataListGridView Web 控制項可以包含引發事件的子控制項。 例如,控制項中的每個 GridView 資料列都可以包含範本動態建立的一或多個按鈕。 與個別引發事件的按鈕相反,來自巢狀控制項的事件會「泡泡」-也就是說,它們會傳送至控制項的父代。 父代接著會以參數值引發稱為 RowCommand 的泛型事件。 這些值可讓您判斷引發原始事件的個別控制項。 藉由回應這個單一事件,您可以避免撰寫子控制項的個別事件處理方法。

雖然您無法覆寫這個方法,但您撰寫的控制項可以覆 OnBubbleEvent 寫 方法來處理或引發泡泡事件。

適用於

另請參閱