2013-02-14 122 views
3

我正嘗試使用最強大的OOP來開發一個Web應用程序,但是我在使用代碼創建事件處理程序時將事件處理程序添加到了對象中。我相信這是一個相當簡單的解決方案,我只是不斷傳遞,但我對下一步嘗試的方式感到不知所措。下面是我一直在玩的一些測試代碼,只是試圖讓按鈕去做一些事情。如何以編程方式向.NET按鈕添加事件處理程序?

(想象一下,有就行了一個破發點「INT I;」)

Button b = new Button(); 
    b.Text = "Do Something"; 
    b.Attributes.Add("runat", "server"); 
    b.Attributes.Add("OnClick", "click"); 
    form1.Controls.Add(b); 

    private void click(object sender, EventArgs e) 
    { 
     int i; 
    } 

因爲這是我的Page_Load中創建一個新的按鈕,我不能硬編碼的XHTML。調試從來沒有打我的斷點。我還沒有使用CheckBoxes獲得更多成功。

+0

通常你在C#中使用委託功能。你特別針對哪個框架? – 2013-02-14 01:19:48

回答

11

你要訂閱Click事件:

Button b = new Button(); 
b.Text = "Do Something"; 
b.Click += click; 
form1.Controls.Add(b); 

private void click(object sender, EventArgs e) 
{ 
    int i; 
} 

通過添加onclick屬性到按鈕的Attributes集合,它會呈現爲在HTML input標籤的屬性。在這種情況下,您可以使用它在客戶端執行一些JavaScript代碼。

b.Attributes.Add("onclick", "alert('Hey')"); 

//Will render the button as 
<input type="submit" name="x" value="Do Something" onclick="alert('Hey')"> 
+0

這個伎倆!謝謝! – wmaynard 2013-02-15 00:37:28

1

你可以這樣做:

Button b = new Button(); 
b.Text = "Do Something"; 
b.Click += new EventHandler((s, ev) => 
         { 
          int i; 
         }); 
form1.Controls.Add(b); 
相關問題