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