Control.OnBubbleEvent(Object, EventArgs) メソッド


サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。Determines whether the event for the server control is passed up the page's UI server control hierarchy.

 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



イベントのソースです。The source of the event.


イベント データを含む EventArgs オブジェクトです。An EventArgs object that contains the event data.



イベントがキャンセルされた場合はtrue 。それ以外の場合は falsetrue if the event has been canceled; otherwise, false. 既定では、 falseです。The default is false.

次の例では、ParentControlカスタム ASP.NET サーバーコントロールの OnBubbleEvent メソッドをオーバーライドします。The following example overrides the OnBubbleEvent method in a custom ASP.NET server control, ParentControl. このメソッドは、ParentControl の子コントロールが RaiseBubbleEvent メソッドを呼び出すときに呼び出されます。This method is invoked when a child control of ParentControl calls the RaiseBubbleEvent method. この場合、ParentControl クラスは、格納する ASP.NET ページに2つの文字列を書き込みます。最初に、その OnBubbleEvent メソッドが呼び出されたことを示すものであり、2番目は RaiseBubbleEvent メソッドのソース管理を識別します。When this happens, the ParentControl class writes two strings to the containing ASP.NET page, the first stating that its OnBubbleEvent method has been called, the second identifying the source control of the RaiseBubbleEvent method.

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)
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)
   End Sub
End Class


RepeaterDataListGridView Web コントロールなどの ASP.NET サーバーコントロールには、イベントを発生させる子コントロールを含めることができます。ASP.NET server controls such as the Repeater, DataList and GridView Web controls can contain child controls that raise events. たとえば、GridView コントロールの各行には、テンプレートによって動的に作成された1つ以上のボタンを含めることができます。For example, each row in a GridView control can contain one or more buttons created dynamically by templates. 各ボタンがイベントを個別に生成するのではなく、入れ子になったコントロールからのイベントは "バブル" されます。つまり、名前付けコンテナーに送信されます。Rather than each button raising an event individually, events from the nested controls are "bubbled" - that is, they are sent to the naming container. 名前付けコンテナーは、パラメーター値を使用して RowCommand という汎用的なイベントを生成します。The naming container in turn raises a generic event called RowCommand with parameter values. これらの値を使用すると、元のイベントを発生させた個々のコントロールを特定できます。These values allow you to determine which individual control that raised the original event. この単一のイベントに応答することによって、子コントロールの個々のイベント処理メソッドを記述しなくても済むようになります。By responding to this single event, you can avoid having to write individual event-handling methods for child controls.