Control.RaiseBubbleEvent(Object, EventArgs) Control.RaiseBubbleEvent(Object, EventArgs) Control.RaiseBubbleEvent(Object, EventArgs) Control.RaiseBubbleEvent(Object, EventArgs) Method

定義

イベントのソースおよびその情報をコントロールの親に割り当てます。Assigns any sources of the event and its information to the control's parent.

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 Object Object Object

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

args
EventArgs EventArgs EventArgs EventArgs

イベント データを格納している EventArgs オブジェクト。An EventArgs object that contains the event data.

次のコード例は、カスタムChildControlクラスを作成する方法を示しています。このメソッドをButton.OnClickオーバーライドしButton.Clickて、イベントを親の ASP.NET サーバーコントロールに送信するRaiseBubbleEventメソッドを呼び出します。The following code example demonstrate how to create a custom class, ChildControl, overriding the Button.OnClick method to call the RaiseBubbleEvent method that sends the Button.Click event to its parent ASP.NET server control. ユーザーがのChildControlインスタンスを含む ASP.NET ページ内のボタンをクリックすると、のChildControlインスタンスをOnBubbleEvent含む親コントロールのメソッドが発生し、"childcontrol クラスの OnClick メソッドは"をページに対して呼び出します。When the user clicks a button in an ASP.NET page that includes an instance of ChildControl, it raises the OnBubbleEvent method on the parent control that contains the instance of ChildControl and writes the string "The ChildControl class OnClick method is called" to the page.

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 'ChildControl 

注釈

、、 Repeater DataList Web コントロールなどの ASP.NET サーバーコントロールには、イベントを発生させる子コントロールを含めることができます。 GridViewASP.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 control's parent. 親は、パラメーター値を使用してRowCommandという汎用イベントを生成します。The parent 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.

このメソッドをオーバーライドすることはできませんが、作成したコントロールでは、 OnBubbleEventメソッドをオーバーライドすることにより、バブルイベントを処理または発生させることができます。While you cannot override this method, controls you author can handle or raise bubbled events by overriding the OnBubbleEvent method.

適用対象

こちらもご覧ください