2011-03-18 1 views
1

Je suis en train de développer un contrôle composite pour une application ASP.NET et, par chance, j'ai initialement développé le contrôle pour 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 gérés dans le contrôle racine. J'utilise le OnBubbleEvent avec les propriétés CommandName/CommandArgument sur les boutons pour tout câbler. Et tout a bien fonctionné ... jusqu'à ce que je change les modèles en contrôles.Le contrôle composite ASP.NET ne déclenche pas l'événement mais le modèle

Lorsque j'ai converti le modèle en contrôle et appelé Controls.Add (new ChildControl()) dans mon contrôle racine au lieu de InstantiateIn (this), le bouillonnement d'événements ne fonctionne plus.

Une idée pourquoi?

(Tout, et je veux dire tout, le reste est le même.)

+0

Salut, je reviens juste pour savoir si vous avez résolu votre problème ... si ce n'est pas le cas, je vais essayer de vous aider! –

Répondre

0

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, elle a cessé de fonctionner à cause de la chose ITemplate, mais parce que vous avez changé l'héritage de CompositeControl à Contrôle.

Voir ceci: http://msdn.microsoft.com/en-us/library/system.web.ui.control.onbubbleevent.aspx

ils disent là.

Questions connexes