ASP.Net ScriptControl - добавить Javascript метод get_events: возможно? - PullRequest
1 голос
/ 30 декабря 2008

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

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

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

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

1 Ответ

1 голос
/ 30 декабря 2008

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

},

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

...