Установка обработчика событий для кнопки ссылки внутри класса Шаблон встречи не сработает - PullRequest
0 голосов
/ 01 мая 2018

У меня есть элемент управления Telerik RadScheduler, для которого я создаю собственный шаблон встречи. Шаблон успешно связывается, однако внутри моего шаблона находится кнопка ссылки, с которой я хочу связать событие. Я вижу, что событие связывается, однако оно не вызывает код и пересылает response.redirect, вместо этого страница обновляется и шаблоны назначений исчезают. Как заставить событие обрабатываться правильно при нажатии кнопки? Апплет шаблон добавляется при загрузке страницы.

public class AppTemplate : ITemplate
        {
            public void InstantiateIn(Control container)
            {
                SchedulerAppointmentContainer aptCont = (SchedulerAppointmentContainer)container;
                Appointment app = aptCont.Appointment;
            LinkButton lbs = new LinkButton();
            lbs.ID = "btnConductAppointment";
            lbs.Text = "<div style=\"font-weight:bold;\">" + app.Attributes["ApptClientID"] + "</div><div>" + app.Attributes["Title"] + " " + app.Attributes["Surname"] + "</div>";



            //nlbs.Click += btnConductAppointment_Click;
            lbs.DataBinding += new EventHandler(label1_DataBinding);
            lbs.CausesValidation = false;



            container.Controls.Add(lbs);
        }

        private void label1_DataBinding(object sender, EventArgs e)
        {
            LinkButton target = (LinkButton)sender;
            target.Click += new EventHandler(btnConductAppointment_Click);
        }

        protected  void btnConductAppointment_Click(object sender, EventArgs e)
        {
            HttpContext.Current.Response.Redirect(PageDirectory.Default, true);
        }
    }

1 Ответ

0 голосов
/ 01 мая 2018

Установка привязки в PageInit означает, что событие всегда существует.

protected override void OnInit(EventArgs e)
{
   RadScheduler1.AppointmentTemplate = new AppTemplate();
}
...