Control.OnBubbleEvent(Object, EventArgs) 方法

定義

決定伺服器控制項的事件是否要在頁面的 UI 伺服器控制項階層架構中向上傳遞。

protected:
 virtual bool OnBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected virtual bool OnBubbleEvent (object source, EventArgs args);
abstract member OnBubbleEvent : obj * EventArgs -> bool
override this.OnBubbleEvent : obj * EventArgs -> bool
Protected Overridable Function OnBubbleEvent (source As Object, args As EventArgs) As Boolean

參數

source
Object

事件的來源。

args
EventArgs

包含事件資料的 EventArgs 物件。

傳回

如果事件已取消,則為 true,否則為 false。 預設為 false

範例

下列範例會 OnBubbleEvent 覆寫自訂 ASP.NET 伺服器控制項 ParentControl 中的 方法。 這個方法會在呼叫 方法的 ParentControl 子控制項時叫 RaiseBubbleEvent 用。 發生這種情況時,類別 ParentControl 會將兩個字串寫入包含 ASP.NET 網頁,第一個指出已呼叫其 OnBubbleEvent 方法,第二個字串會識別方法的原始 RaiseBubbleEvent 檔控制。

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);
   }
}
Public Class ParentControl
   Inherits Control
   
   <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
   Protected Overrides Function OnBubbleEvent(sender As Object, e As EventArgs) As Boolean
      Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.")
      Context.Response.Write(("<br>Source of event is: " + sender.ToString()))
      Return True
   End Function 'OnBubbleEvent
   
   <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
   Protected Overrides Sub Render(myWriter As HtmlTextWriter)
      myWriter.Write("ParentControl")
      RenderChildren(myWriter)
   End Sub
End Class
 _

備註

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

適用於

另請參閱