Language

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 サーバー コントロール OnBubbleEvent の ParentControl メソッドをオーバーライドします。 このメソッドは、 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
 _

注釈

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

適用対象

こちらもご覧ください