次の方法で共有


Control.OnBubbleEvent メソッド

サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Protected Overridable Function OnBubbleEvent ( _
    source As Object, _
    args As EventArgs _
) As Boolean
'使用
Dim source As Object
Dim args As EventArgs
Dim returnValue As Boolean

returnValue = Me.OnBubbleEvent(source, args)
protected virtual bool OnBubbleEvent (
    Object source,
    EventArgs args
)
protected:
virtual bool OnBubbleEvent (
    Object^ source, 
    EventArgs^ args
)
protected boolean OnBubbleEvent (
    Object source, 
    EventArgs args
)
protected function OnBubbleEvent (
    source : Object, 
    args : EventArgs
) : boolean
適用できません。

パラメータ

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

戻り値

イベントがキャンセルされた場合は true。それ以外の場合は false。既定値は false です。

解説

RepeaterDataListGridView の各 Web コントロールなどの ASP.NET サーバー コントロールには、イベントを発生させる子コントロールを格納できます。たとえば、GridView コントロールの各行に、テンプレートによって動的に作成された 1 つ以上のボタンを格納できます。各ボタンが個別にイベントを発生させるのではなく、入れ子になったコントロールからのイベントは "バブル イベント" になります。つまり、それらのイベントは、名前付けコンテナに送信されます。名前付けコンテナは、パラメータ値が指定された RowCommand という汎用的なイベントを順番に発生させます。これらの値を使用すると、元のイベントを発生させた個別のコントロールを確認できます。この単一イベントに応答することによって、子コントロールのために個別のイベント処理メソッドを書き込む必要がなくなります。

使用例

カスタム ASP.NET サーバー コントロール ParentControlOnBubbleEvent メソッドをオーバーライドする例を次に示します。ParentControl の子コントロールが RaiseBubbleEvent メソッドを呼び出すときに、このメソッドが呼び出されます。このメソッドが呼び出されると、2 つの文字列が ParentControl クラスによって配置先の ASP.NET ページに書き込まれます。一方の文字列は、OnBubbleEvent メソッドが呼び出されたことを示しており、もう一方の文字列は RaiseBubbleEvent メソッドのソース コントロールを識別します。

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 'Render
End Class 'ParentControl
 _
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 extends Control
{     
    protected boolean OnBubbleEvent(Object sender, EventArgs e) 
    {
        get_Context().get_Response().Write("<br><br>ParentControl's"
            + " OnBubbleEvent called.");
        get_Context().get_Response().Write(("<br>Source of event is: "
            + sender.ToString()));
        return true ;
    } //OnBubbleEvent      
    protected void Render(HtmlTextWriter myWriter) 
    {
        myWriter.Write("ParentControl");
        RenderChildren(myWriter);
    } //Render
} //ParentControl

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Control クラス
Control メンバ
System.Web.UI 名前空間
RaiseBubbleEvent