簡體   English   中英

為什么我動態添加的事件處理程序方法未在asp.net頁中觸發?

[英]Why my dynamically added event handler method is not firing in asp.net page?

在后面的asp.net頁面代碼中,我正在動態創建一個按鈕,並向其添加事件處理程序。 但是,當我在按鈕單擊事件上設置斷點(我在代碼背后添加了該事件)時,它沒有命中。 知道為什么嗎?

我的代碼在這里

ASP.NET頁面

<form runat="Server" id="frm1">
   <div id="divPaymentOptions" runat="Server"> </div>
</form>  

代碼隱藏(C#)

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          LoadControl();
        }
    }
 private void LoadControl()
 {
     Button objTempBtn = new Button();
     objTempBtn.ID = "myDynamicBtn";
     objTempBtn.Text = "Clich me";
     objTempBtn.Click+=new EventHandler(objTempBtn_Click);
     this.divPaymentOptions.Controls.Add(objTempBtn);
 }

 private void objTempBtn_Click(object sender, EventArgs e)
 {
    string strMsg="want to do something here";
 }

我在divPaymentOptions上設置了一個斷點。 但是當我運行它時並沒有實現。 但是,當我單擊按鈕時會發生回發。 它涉及PageLoad方法。 不知道為什么它沒有出現在我的按鈕單擊事件中。

有任何想法嗎?

該按鈕在回發期間不存在。 如果將控件動態添加到頁面,則每次都必須這樣做。 取出檢查!IsPostBack ,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM