ASP.Net ScriptControl - Добавить метод get_events Javascript: возможно?

Итак, я столкнулся с трудностью, по-видимому, метод get_events только "включен" в класс ExtenderControl.

Что я должен сделать:

Иметь возможность вызывать Javascript-метод get_events с помощью ScriptControl, так как использование ExtenderControl на самом деле невозможно на этом этапе.

Я надеюсь, что есть простой способ, чтобы объект javascript scriptControl наследовал от чего-то (если это вообще возможно).

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

},

По сути, события - это просто словарь, в котором хранится имя события и ссылка на вызываемый метод. Когда у вас есть метод (обработчик), вам нужно просто вызвать его.

Другие вопросы по тегам