ASP.Net ScriptControl - Ajout de la méthode Javascript get_events: Possible?
-
03-07-2019 - |
Question
J'ai donc eu un problème, apparemment la méthode get_events est uniquement "incluse". avec la classe ExtenderControl.
Ce que je dois faire:
Pouvoir appeler la méthode JavaScript get_events à l'aide d'un ScriptControl, car utiliser un ExtenderControl n'est pas vraiment possible à ce stade.
J'espère qu'il sera facile de faire en sorte que l'objet javascript de ScriptControl hérite de quelque chose (si c'est même possible).
La solution
Il s'avère que la méthode get_events est très simple à créer. Vous avez juste besoin d'un champ pour contenir un dictionnaire, quelques lignes de code et quelque chose pour appeler l'événement si nécessaire:
getEvents: function()
{
if (this._events == null)
{
this._events = new Sys.EventHandlerList();
}
return this._events;
},
Et maintenant pour accéder:
onItemSelected: function(args)
{
this.raiseEvent('userItemSelected', args);
},
raiseEvent: function(eventName, eventArgs)
{
var handler = this.getEvents().getHandler(eventName);
if(handler)
{
handler(this._autoComplete, eventArgs);
}
},
En gros, events est juste un dictionnaire qui contient le nom de l'événement et la référence à la méthode à appeler. Une fois que vous avez la méthode (gestionnaire), il suffit de l'appeler.