Составной элемент управления ASP.NET не генерирует событие, а шаблон - PullRequest
1 голос
/ 18 марта 2011

Я разрабатываю составной элемент управления для приложения ASP.NET и случайно разработал элемент управления для использования ITemplate для создания своих дочерних элементов управления.В дочерних элементах управления будет ряд кнопок, которые должны обрабатываться в корневом элементе управления.Я использую OnBubbleEvent со свойствами CommandName / CommandArgument на кнопках, чтобы связать все это.И все работало замечательно ... пока я не изменил шаблоны на элементы управления.

Когда я преобразовал шаблон в элемент управления и вызвал Controls.Add (new ChildControl ()) в моем корневом элементе управления вместо InstantiateIn (this), всплытие событий больше не работает.

Есть идеи почему?

(Все, и я имею в виду все, остальное то же самое.)

1 Ответ

0 голосов
/ 29 апреля 2011

Ваш составной элемент управления должен реализовывать интерфейс INamingContainer для получения вызовов OnBubbleEvent.Класс CompositeControl уже реализует этот интерфейс ... в вашем случае он перестал работать не из-за ITemplate, а потому что вы изменили наследование с CompositeControl на Control .

Смотрите: http://msdn.microsoft.com/en-us/library/system.web.ui.control.onbubbleevent.aspx

они говорят это там.

...