継承したイベントの処理
継承したイベントを処理するには、デリゲートをアタッチするのではなく、基本クラスから継承したプロテクト OnEventName メソッドをオーバーライドします。一般に、オーバーライドされたメソッドは、イベントにアタッチされたデリゲートを呼び出せるように、基本クラスの OnEventName メソッドを呼び出します (デリゲートを呼び出さない場合を除く)。template 宣言されたコントロールが、継承した DataBinding イベントをどのように処理して、データ連結イベント ハンドラを呼び出す前に子コントロールが作成されるようにするかを次のコード (「テンプレート コントロールのサンプル」からの引用) に示します。
protected override void OnDataBinding(EventArgs e) {
EnsureChildControls();
base.OnDataBinding(e);
}
[Visual Basic]
Protected Overrides Sub OnDataBinding(e As EventArgs)
EnsureChildControls()
MyBase.OnDataBinding(e)
End Sub
ASP.NET サーバー コントロールが Control から継承するイベントと、コントロールでそのイベントを処理する場合にオーバーライドするメソッドを次の表に示します。
処理するイベント | オーバーライドするメソッド |
---|---|
Init | OnInit |
Load | OnLoad |
DataBinding | OnDataBinding |
PreRender | OnPreRender |
UnLoad | OnUnLoad |