2012-12-31 124 views
0

在我的節目我用了一個動態按鈕與下面的代碼:動力Asp.net按鈕沒有被解僱

Button button = new Button(); 
button.ID = counter.ToString(); 
button.Text = "ok"; 
button.Click += new EventHandler(this.ButtonClick); 

list.Controls.Add(button); 

而且我已經添加單擊事件的代碼如下圖所示:

private void ButtonClick(object sender, EventArgs e) 
{ 
    //.. 
} 

有幾種解決方案:

C# Button Not Firing?

Dynamically created button not firing Click event

我已閱讀並應用它們,但無法解決問題。

我的動態按鈕操作放在Page_Load。 (我在Page_Init試過了,它沒有再次被激發。)

爲了調試我使用了斷點。我把它放到Page_Load,首次頁面和工作程序停止在斷點處,然後我繼續。我點擊動態按鈕後,代碼wasnot解僱......

Page_Load像如下:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     //.. 
     case "button": 

     Button button = new Button(); 
     button.ID = counter.ToString(); 
     button.Text = "ok"; 
     button.Click += new EventHandler(this.ButtonClick); 


     list.Controls.Add(button); 
     break; 
    } 
} 
+0

究竟是什麼名單? list.Controls.add?您需要將該按鈕添加到您的表單。

,試試Form1.Controls.add(button) – Thousand

+0

我用作列表:

    +0

    你的page_load代碼是什麼樣的喜歡? – wes

    回答

    2

    當您在webforms中動態創建控件時,您需要動態重新創建它們,以便每次回發。

    確保您瞭解webforms頁面的生命週期,並在事件觸發前重新註冊控件,在預啓動階段。

    +0

    我覺得至少第一次點擊時,第一次射擊應該是,不是嗎?因爲我創造了它? –

    +0

    第一次添加可以在你的page_load中。之後他們需要在pre_init事件中完成。 –

    0

    要創建Web表單動態按鈕控件,請給偏移值按鈕,你想要的。