#asp.net #events #delegates #delegation
#asp.net #Мероприятия #делегаты #делегирование
Вопрос:
У меня есть вложенные элементы управления на странице. Пример:
Page
-ChildControl1 (of type AllOfMyItems)
-ChildControl2 (of type ListOfItems)
-ChildControl3 (of type MyItem <- this one fires event)
Когда дочерний элемент управления вызывает событие, я хочу, чтобы страница обрабатывала это событие. Какой хороший способ сделать это?
События и делегаты кажутся хорошей идеей для использования здесь.
Итак, я пытаюсь сделать следующее на Page_Init моей страницы:
MyItem.SomethingHappened = doStuff();
какой хороший способ сделать это?
Ответ №1:
Я предполагаю, что у вас нет прямого доступа к ChildControl2 со своей страницы, и в этом ваша проблема.
Один из вариантов — перенести событие из одного пользовательского элемента управления в его родительский пользовательский элемент управления и так далее, пока ваша страница не обработает родительский элемент управления.Что-то произошло событие. Этот способ рекомендуется, если пользовательские элементы управления не всегда вложены, как в этом примере.