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).

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top