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 オブジェクト。
解説
Repeater 、 DataList 、 DataGrid の各 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 | イベントのバブル