Question

Je développe un contrôle composite pour une application ASP.NET et par hasard développé initialement le contrôle d'utiliser un ITemplate pour créer ses contrôles enfants. Il y aura une série de boutons dans les contrôles enfants qui doivent être traitées dans le contrôle de la racine. J'utilise le OnBubbleEvent propriétés CommandName / CommandArgument sur les boutons pour le tout câbler. Et tout fonctionnait très bien ... jusqu'à ce que je changé les modèles de contrôle.

Quand je converti le modèle à un contrôle et appelé Controls.Add (nouveau ChildControl ()) dans mon contrôle racine au lieu de InstantiateIn (ce), événement bouillonnant ne fonctionne plus.

Une idée pourquoi?

(Tout, et je dis bien tout, le reste est le même.)

Était-ce utile?

La solution

Votre contrôle composite doit implémenter l'interface INamingContainer afin de recevoir des appels OnBubbleEvent. La classe CompositeControl implémente déjà cette interface ... dans votre cas, il a cessé de travailler pas à cause de chose ITemplate, mais parce que vous avez changé l'héritage de CompositeControl Contrôle .

Voir ceci: http: // msdn .microsoft.com / fr-fr / bibliothèque / system.web.ui.control.onbubbleevent.aspx

ils disent là.

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