ASP.Net ScriptControl - Adicione o Javascript método get_events: Possível?
-
03-07-2019 - |
Pergunta
Então eu correr em um obstáculo, aparentemente, o método get_events só é "incluído" com a classe ExtenderControl.
O que eu preciso fazer:
Ser capaz de chamar o método get_events Javascript usando um ScriptControl desde usando um ExtenderControl não é realmente possível neste momento.
Estou esperando há uma maneira fácil de ter herdar objeto javascript do ScriptControl de algo (se isso é mesmo possível).
Solução
Acontece que o método get_events é realmente simples para criar. Você só precisa de um campo para segurar um dicionário, um par de linhas de código, e algo para chamar o evento, se necessário:
getEvents: function()
{
if (this._events == null)
{
this._events = new Sys.EventHandlerList();
}
return this._events;
},
E agora para acesso:
onItemSelected: function(args)
{
this.raiseEvent('userItemSelected', args);
},
raiseEvent: function(eventName, eventArgs)
{
var handler = this.getEvents().getHandler(eventName);
if(handler)
{
handler(this._autoComplete, eventArgs);
}
},
Basicamente eventos é apenas um dicionário que contém o nome do evento e a referência ao método de chamada. Depois de ter o método (manipulador), é apenas uma questão de chamá-lo.