ASP.NET - Как распространять события с помощью вложенных пользовательских элементов управления - PullRequest
0 голосов
/ 05 мая 2011

У меня есть вложенные элементы управления на странице. Пример:

Page 
  -ChildControl1 (of type AllOfMyItems)
      -ChildControl2 (of type ListOfItems)
         -ChildControl3 (of type MyItem <- this one fires event)

Когда дочерний элемент управления вызывает событие, я хочу, чтобы страница обработала это событие. Какой хороший способ сделать это?

События и делегаты кажется хорошей идеей для использования здесь.

Итак, я пытаюсь сделать следующее на Page_Init моей страницы:

 MyItem.SomethingHappened += doStuff();

Какой хороший способ сделать это?

1 Ответ

0 голосов
/ 05 мая 2011

Я предполагаю, что у вас нет прямого доступа к ChildControl2 со своей страницы, и в этом ваша проблема.

Один из вариантов - передать событие из одного UserControl в его родительский UserControl и так далее, пока ваша страница не обработаетсобытие ParentControl.SomethingHappened.Этот способ рекомендуется, если пользовательские элементы управления не всегда являются вложенными, как в этом примере.

...