1

どうやら get_events メソッドは ExtenderControl クラスにのみ「含まれている」ようです。

私は何をする必要がありますか:

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

scriptControl の JavaScript オブジェクトを何かから継承させる簡単な方法があることを願っています (それが可能であれば)。

4

1 に答える 1

1

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);
    }

},

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

于 2008-12-30T19:38:54.770 に答える