次の方法で共有


Control.RaiseBubbleEvent メソッド

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

Protected Sub RaiseBubbleEvent( _
   ByVal source As Object, _   ByVal args As EventArgs _)
[C#]
protected void RaiseBubbleEvent(objectsource,EventArgsargs);
[C++]
protected: void RaiseBubbleEvent(Object* source,EventArgs* args);
[JScript]
protected function RaiseBubbleEvent(
   source : Object,args : EventArgs);

パラメータ

  • source
    イベントのソース。
  • args
    イベント データを格納している EventArgs オブジェクト。

解説

RepeaterDataListDataGrid の各 Web コントロールなどの ASP.NET サーバー コントロールには、イベントを発生させる子コントロールを格納できます。たとえば、 DataGrid コントロールの各行に、テンプレートによって動的に作成された 1 つ以上のボタンを格納できます。

各ボタンが個別にイベントを発生させるのではなく、入れ子になったコントロールからのイベントは "バブル イベント" になります。つまり、それらのイベントは、コントロールの親に送信されます。親はパラメータ値を使用して ItemCommand と呼ばれる汎用的なイベントを順番に発生させます。これらの値を使用すると、元のイベントを発生させた個別のコントロールを確認できます。この単一イベントに応答することによって、子コントロールのために個別のイベント処理メソッドを書き込む必要がなくなります。

このメソッドはオーバーライドできませんが、OnBubbleEvent メソッドをオーバーライドすることによって、作成したコントロールでバブル イベントを処理または発生させることができます。詳細については、「 イベントのバブル 」を参照してください。

使用例

[Visual Basic, C#, C++] カスタム クラス ChildControl の例を次に示します。このクラスは、 Button.OnClick メソッドをオーバーライドして、その親の ASP.NET サーバー コントロールに Button.Click イベントを送る RaiseBubbleEvent メソッドを呼び出します。 ChildControl のインスタンスが含まれる ASP.NET ページのボタンをユーザーがクリックすると、その ChildControl のインスタンスが含まれる親コントロールで OnBubbleEvent メソッドが呼び出され、そのページに "The ChildControl class OnClick method is called" という文字列が書き込まれます。

 
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 'OnClick
End Class 'ChildControl 

[C#] 
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);
   }

[C++] 
public __gc class ChildControl : public Button
{
protected:
   [System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
   void OnClick(EventArgs *e)
   {
      __super::OnClick(e);
      Context->Response->Write(S"<br><br>ChildControl's OnClick called.");
      // Bubble this event to parent.
      RaiseBubbleEvent(this, e);
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Web.UI 名前空間 | OnBubbleEvent | イベントのバブル