Кнопка ASP.NET на заполнителе и заполнителе в файле пользовательского элемента управления (ascx) Событие кнопки не запущено

Я динамически создаю кнопки ссылок в пользовательском элементе управления, используя заполнитель, и обработчик событий, прикрепленный к кнопке ссылки click + = новое событие (Button_Click) не срабатывает

Заранее спасибо


Фрагмент кода

   protected override void OnInit(EventArgs e)
             MenuListPlaceHolder.Controls.Add(new LiteralControl("<li>"));
             ctrl.ID = this.UniqueID + (nCounter++).ToString();
             ctrl.Text = cardType.Name;
             ctrl.Click += new EventHandler(this.CardName_Click);            
             MenuListPlaceHolder.Controls.Add(ctrl);
             MenuListPlaceHolder.Controls.Add(new LiteralControl("</li>"));

Когда нажимается событие обратной отправки, запускается, но не выполняется CardName_Click



person Madev    schedule 31.12.2011    source источник


Ответы (1)


Вы должны прикрепить его к событию Page_Load

вот так:

protected void Page_Load(object sender, EventArgs e) {
    this.Btn.OnClick+=new Event(Button_Click) 
}

вы должны проверить это: здесь, чтобы узнать о цикле страниц

person IamStalker    schedule 31.12.2011
comment
на основе вашей ссылки код из OP должен войти в PreInit. OnInit срабатывает перед Page_load, поэтому мне трудно поверить, что ваше предложение сработает для OP - person rene; 31.12.2011
comment
Да, но PreInit вы что-то забываете, вы должны прикреплять делегата к каждому запросу страницы не один раз, поэтому я говорю из своего опыта по этому вопросу. - person IamStalker; 31.12.2011