Почему мой динамически добавленный метод обработчика событий не запускается на странице asp.net? - PullRequest
0 голосов
/ 23 октября 2010

В моей кодовой странице asp.net я динамически создаю кнопку и добавляю к ней обработчик событий.Но когда я устанавливаю точку останова на событие нажатия кнопки (которое я добавил в codebehind), оно не срабатывает.Есть идеи, почему?

Мой код здесь

ASP.NET PAGE

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

CODEBEHIND (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.Не знаю, почему он не приходит на мое событие нажатия кнопки.

Есть идеи?

1 Ответ

3 голосов
/ 23 октября 2010

кнопка не существует во время обратной передачи. если вы динамически добавляете элемент управления на страницу, вы должны делать это каждый раз. вытащите чек на !IsPostBack и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...