2012-03-12 8 views
0

У меня есть UserControl в моей странице, загруженной с помощью Page.Controls.Add(ctrl)ASP.Net UserControl Event

Теперь у меня есть кнопка в этом пользовательский элемент управления и хотите стрелять одну функцию, когда пользователь нажимает на кнопку, которая пользовательского элемента управления.

У меня есть пользовательский элемент управления на большом количестве страниц и вы хотите запускать различные функции на этом нажатии кнопки управления пользователем.

+0

C# или VB.NET? Кроме того, вам действительно нужно добавить его динамически или вы можете добавить его декларативно на страницу? –

+0

C#, да. Я добавил элементы управления, как я сказал выше. UserControl uc = новый UserControl(); uc = (UserControl) Page.LoadControl ("WebUserControl1.ascx"); dvctrl.Controls.Add (uc); –

+0

Но вы не ответили, почему думаете, что его нужно добавить динамически через 'LoadControl', поскольку этот подход намного сложнее и подвержен ошибкам (проблемы с жизненным циклом), чем добавление его декларативно на разметку aspx. Например, вы должны добавить его в Page_Init, а не в Page_Load. –

ответ

1

В целом вам необходимо связаться с UserControls по номеру Pages через События. Поэтому объявите пользовательское событие в UserControl, которое будет создано в обработчике кнопок и может обрабатываться страницей. Таким образом, каждая страница с использованием этого элемента управления может реагировать по-разному.

http://www.codeproject.com/Articles/8797/Mastering-Page-UserControl-Communication#4.3