繁体   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