Control.RaiseBubbleEvent メソッド
アセンブリ: System.Web (system.web.dll 内)


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

カスタム クラス 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
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); }

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からControl.RaiseBubbleEvent メソッドを検索する場合は、下記のリンクをクリックしてください。

- Control.RaiseBubbleEvent メソッドのページへのリンク