質問

だから私は思わぬ障害に遭遇しました。どうやらget_eventsメソッドは" includedquot ;; ExtenderControlクラスを使用します。

私がする必要があること:

この時点ではExtenderControlを使用することは実際には不可能であるため、ScriptControlを使用してget_events JavaScriptメソッドを呼び出すことができます。

scriptControlのjavascriptオブジェクトに何かを継承させる簡単な方法があることを望んでいます(可能であれば)。

役に立ちましたか?

解決

get_eventsメソッドの作成は本当に簡単です。辞書、数行のコード、および必要に応じてイベントを呼び出すものを保持するフィールドが必要です。

getEvents: function() 
{
    if (this._events == null) 
    {
        this._events = new Sys.EventHandlerList();
    }

    return this._events;
},

そして今、アクセスのために:

onItemSelected: function(args)
{
   this.raiseEvent('userItemSelected', args);
},

raiseEvent: function(eventName, eventArgs)
{
    var handler = this.getEvents().getHandler(eventName);
    if(handler)
    {
        handler(this._autoComplete, eventArgs);
    }

},

基本的に、イベントは、イベントの名前と呼び出すメソッドへの参照を保持する単なる辞書です。メソッド(ハンドラー)を取得したら、それを呼び出すだけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top