ASP.NET COMPOSITE CONTROLLE NON BUBBLE EVENTO ma il modello lo fa
-
27-10-2019 - |
Domanda
Sto sviluppando un controllo composito per un'applicazione ASP.NET e per caso inizialmente ha sviluppato il controllo per utilizzare una piastra elettorale per creare i suoi controlli figlio. Ci saranno una serie di pulsanti all'interno dei controlli figlio che devono essere gestiti nel controllo della radice. Sto usando OnBubbleEvent con le proprietà CommandName/CommandArgument sui pulsanti per collegare tutto. E tutto ha funzionato alla grande ... fino a quando non ho cambiato i modelli in controlli.
Quando ho convertito il modello in un controllo e ho chiamato controls.add (new ChildControl ()) nel mio controllo radicale anziché istanziata (questo), l'evento gorgogliamento non funziona più.
Qualche idea sul perché?
(Tutto, e intendo tutto, altro è lo stesso.)
Soluzione
Il controllo composito deve implementare l'interfaccia InamingContainer per ricevere chiamate OnBubbleEvent. La classe CompositeControl implementa già questa interfaccia ... nel tuo caso ha smesso di funzionare non a causa della cosa di Itemplate, ma perché hai cambiato l'eredità da Compositecontrol a Controllo.
Guarda questo: http://msdn.microsoft.com/en-us/library/system.web.ui.control.onbubbleevent.aspx
Lo dicono lì.