ASP.Net ScriptControl — добавьте метод get_events Javascript:Возможный?
-
03-07-2019 - |
Вопрос
Итак, я столкнулся с загвоздкой: очевидно, метод 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);
}
},
По сути, события — это просто словарь, содержащий имя события и ссылку на вызываемый метод.Если у вас есть метод (обработчик), остается только его вызвать.
Не связан с StackOverflow