次の方法で共有


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

次の例では、ParentControlカスタム ASP.NET サーバー コントロールの メソッドをオーバーライドOnBubbleEventします。 このメソッドは、 の 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
 _

注釈

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

適用対象

こちらもご覧ください