Control.RaiseBubbleEvent(Object, EventArgs) 方法

定義

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

C#
protected void RaiseBubbleEvent(object source, EventArgs args);

參數

source
Object

事件的來源。

args
EventArgs

包含事件資料的 EventArgs 物件。

範例

下列程式碼範例示範如何建立自訂類別 , ChildControl 覆寫 Button.OnClick 方法來呼叫 RaiseBubbleEvent 方法,以將事件傳送 Button.Click 至其父系 ASP.NET 伺服器控制項。 當使用者按一下包含 實例 ChildControl 之 ASP.NET 網頁中的按鈕時,它會在包含 實例 ChildControl 的父控制項上引發 OnBubbleEvent 方法,並將字串 「呼叫 ChildControl 類別 OnClick 方法」寫入頁面。

C#
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);
   }

備註

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

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

適用於

產品 版本
.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

另請參閱