2012-02-23 6 views
2

Я добавляю RadButton динамически к панели. Поэтому я создаю кнопку, как так:Динамически добавить кнопку на панель

 RadButton btnAwesome = new RadButton(); 
     btnAwesome.AutoPostBack = true; 
     btnAwesome.Text = "Click me..."; 
     btnAwesome.ID = "LinkButtonTest"; 
     btnAwesome.Click += new System.EventHandler(lnkbtnEditRecord_Click); 

и он должен вызвать этот метод OnClick:

protected void lnkbtnEditRecord_Click(object sender, EventArgs e) 
    { 
     salesEditPanel.Visible = true; 
     resultPanel.Visible = false; 
     zipPanel.Visible = false; 
     ddlPanel.Visible = false; 
     topPanel.Visible = false; 
    } 

Он добавляет кнопку на панели, но это не добавляет OnClick к нему. Любая идея, что мне не хватает?

Спасибо!

+0

Вы спрашиваете о привязке события click? не поднимается ли он нажатием кнопки ??? –

+0

Что такое RadButton? кнопка? или радиообъект? –

+0

@Mr. , Он использует элементы управления Telerik. –

ответ

1

Проблема здесь объясняется тем, как работает обратная связь. Каждый раз, когда запрашивается страница (обратная передача или нет), экземпляры управления создаются. После создания элементов управления и других свойств страницы, состояние просмотра анализируется для установки свойств элемента управления. Затем события создаются и отправляются.

Важно, что этот экземпляр «страницы» - это не тот экземпляр, который вы создали раньше, - это новый, и механизм веб-форм ASP.NET установил для вас все свойства , как если бы это было тоже самое. Но в этом случае вы не создали свой btnAwesome, поэтому нет ничего, что могло бы отправить «событие клика» от или до!

Чтобы изменить это, вы должны убедиться, что к концу страницы Page_Load созданы все элементы управления, которые вы хотите активировать. Таким образом, вы должны воссоздать btnAwesome и добавить его в панель перед возвратом из Page_Load, если вы хотите, чтобы он запускал событие click.

2

Вам нужно будет запустить этот код, чтобы инициализировать кнопку при каждой обратной передаче, и вам нужно будет убедиться, что она запущена на достаточно раннем этапе жизненного цикла страницы. Какое событие страницы - это код, и будет ли он выполняться при каждой последующей обратной передаче?

Смежные вопросы