2013-09-07 4 views
2

Я создал несколько настраиваемых элементов управления в ASP.NET - в основном для практики и более глубокого понимания языка.Как сделать ручку кнопки в событии OnClick?

Я играл с кнопкой, но я не могу заставить ее обрабатывать собственное событие OnClick. Может кто-нибудь мне помочь?

public class CustomButton : System.Web.UI.WebControls.Button 
{ 
    private string href = ""; 

    public CustomButton(string name = "Custom Button", string link = "~/errors/404.aspx", string css = "custom_button") 
    { 
     this.Text = name; 
     this.href = link; 
     this.CssClass = css; 
     //this.OnClick += redirect; 
     this.Attributes.Add("OnClick", "redirect"); 
    } 
    protected void redirect(object sender, EventArgs e) 
    { 
     // I want this function to redirect the user to another page. 
    } 
} 

ответ

2

Вы должны переопределить метод OnClick:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclick.aspx

Метод OnClick также позволяет производным классам обрабатывать событие , не подключая делегат. Это предпочтительный метод для обработки события в производном классе.

+0

Спасибо! Это намного проще, чем я думал. – wmaynard

0
this.OnClick+= redirect(sender,e); 

Попробуйте сделать это?

+0

Для производных классов лучше переопределить метод OnClick. – Alberto

+1

Ах, не знал этого. Спасибо что подметил это. Узнавайте что-то новое каждый день. – Haedrian

0

Если вы хотите позвонить в яваскрипте функции вы можете попробовать это:

this.OnClientClick = "Function()"; 
Смежные вопросы