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

定義

イベントのソースとその情報をコントロールの親に割り当てます。

protected:
 void RaiseBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected void RaiseBubbleEvent(object source, EventArgs args);
member this.RaiseBubbleEvent : obj * EventArgs -> unit
Protected Sub RaiseBubbleEvent (source As Object, args As EventArgs)

パラメーター

source
Object

イベントのソース。

args
EventArgs

イベント データを格納する EventArgs オブジェクト。

次のコード例では、カスタム クラス ChildControl を作成し、Button.OnClick メソッドをオーバーライドして、Button.Click イベントを親 ASP.NET サーバー コントロールに送信する RaiseBubbleEvent メソッドを呼び出す方法を示します。 ユーザーは、ChildControl のインスタンスを含む ASP.NET ページ内のボタンをクリックすると、ChildControl のインスタンスを含む親コントロールで OnBubbleEvent メソッドを発生させ、"The ChildControl class OnClick method is called" という文字列をページに書き込みます。

public class ChildControl : Button
{
   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
   protected override void OnClick(EventArgs e) 
   {
      base.OnClick(e);
      Context.Response.Write("<br><br>ChildControl's OnClick called.");
      // Bubble this event to parent.
      RaiseBubbleEvent(this, e);
   }
Public Class ChildControl
   Inherits Button
   
   <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
   Protected Overrides Sub OnClick(e As EventArgs)
      MyBase.OnClick(e)
      Context.Response.Write("<br><br>ChildControl's OnClick called.")
      ' Bubble this event to parent.
      RaiseBubbleEvent(Me, e)
   End Sub
End Class

注釈

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

このメソッドをオーバーライドすることはできませんが、作成したコントロールは、 OnBubbleEvent メソッドをオーバーライドすることで、バブル イベントを処理または発生させることができます。

適用対象

こちらもご覧ください