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 です。

次の例では、カスタム ASP.NET サーバー コントロール ParentControlOnBubbleEvent メソッドをオーバーライドします。 このメソッドは、 ParentControl の子コントロールが RaiseBubbleEvent メソッドを呼び出すと呼び出されます。 これが発生すると、ParentControl クラスは、2 つの文字列を含む ASP.NET ページに書き込みます。最初に、OnBubbleEvent メソッドが呼び出されたことを示します。2 つ目は、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
 _

注釈

RepeaterDataListGridView Web コントロールなどの ASP.NET サーバー コントロールには、イベントを発生させる子コントロールを含めることができます。 たとえば、 GridView コントロールの各行には、テンプレートによって動的に作成された 1 つ以上のボタンを含めることができます。 各ボタンが個別にイベントを発生させるのではなく、入れ子になったコントロールからのイベントは "バブル" されます。つまり、名前付けコンテナーに送信されます。 名前付けコンテナーは、パラメーター値を持つ RowCommand と呼ばれる汎用イベントを生成します。 これらの値を使用すると、元のイベントを発生させた個々のコントロールを決定できます。 この 1 つのイベントに応答することで、子コントロールの個々のイベント処理メソッドを記述する必要がなくなります。

適用対象

こちらもご覧ください