2011-01-25 3 views
0

У меня есть несколько пользовательских элементов управления на странице, и каждый из них имеет несколько кнопок ссылок, которые выполняют одну и ту же логику на стороне сервера. Есть ли способ, чтобы все кнопки ссылок имели один и тот же обработчик событий, который определен в коде позади страницы?Mulitple linkbuttons в пользовательском элементе управления нужно вызвать обработчик событий на странице aspx

Если необходимо, я могу изменить кнопки ссылки на любой другой элемент управления HTML или ASP.NET, если он может поддерживать интерактивное изображение.

ответ

2

Внутри вашего UserControl создать событие и провод его. Затем вызовите его из LinkButtons OnClick обработчик события:

UserControl.ascx:

<asp:LinkButton 
runat="server" 
id="linkbutton1" 
OnClick="LinkButtonClicked"> 
Click Me 
</asp:LinkButton> 
<asp:LinkButton 
runat="server" 
id="linkbutton2" 
OnClick="LinkButtonClicked"> 
Click Me Again 
</asp:LinkButton> 

UserControl.ascx.cs

public event EventHandler UserControlLinkClick; 

protected void LinkButtonClicked(object sender, EventArgs e) 
{ 
    if (this.UserControlLinkClick!= null) 
     { 
      this.UserControlLinkClick(this, e); 
     } 
} 

Внутри вашей родительской страницы проволоке вверх Пользователь управляет UserControlLinkClick:

protected override void OnInit(EventArgs e) 
{ 
    MyUserControl uc = LoadControl("~/PathToUserControl.ascx"); 
    uc.UserControlLinkClick += new EventHandler(MyUserControl_UserControlLinkClick); 
} 

protected void MyUserControl_UserControlLinkClick(object sender, EventArgs e) 
{ 
    //this code will execute when the usercontrol's LinkButtonClicked event is fired. 
} 

Надеюсь, что поможет!

0

Создайте событие/делегат в своем пользовательском элементе управления. Затем в вашем коде страницы вы можете добавить обработчики событий или методы подписки на делегат.

Link for Events

Link for Delegates

Надеется, что это помогает

+0

Спасибо, что указал мне в этом направлении. Я никогда не использовал события или делегатов и был бы признателен, если бы вы могли дать подробный ответ. – DotnetDude

+0

@DotnetDude: Cognitronic хорошо зарекомендовал себя как использовать событие в пользовательском элементе управления. – jonnyb

 Смежные вопросы

  • Нет связанных вопросов^_^