Вопрос

Итак, я столкнулся с загвоздкой: очевидно, метод get_events «включен» только в класс ExtenderControl.

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

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

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

Это было полезно?

Решение

Оказывается, метод 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