2009-06-16 5 views
0

У меня вопрос о контроле Telerik RadPanelBar.Элементы управления RadPanelBar исчезают после динамического добавления элементов

Например, мы получили контроль RadPanelBar по форме:

 <telerik:RadPanelBar ID="testPanelBar" runat="server"> 
     </telerik:RadPanelBar> 

и кнопка, которая добавляет новый элемент в этой RadPanelBar во время выполнения:

 RadPanelItem newParentItem = new RadPanelItem(); 
     RadPanelItem newChildItem = new RadPanelItem(); 
     newChildItem.Controls.Add(new RadTextBox()); 
     newChildItem.Text = "wazzap"; 
     newParentItem.Items.Add(newChildItem); 
     languagesPanelBar.Items.Add(newParentItem); 

, когда я нажимаю кнопку, новый RadPanelItem добавляется со всеми дочерними элементами управления (в данном случае это RadTextBox в дочернем элементе)

при нажатии кнопки второй раз второй RadPanelItem добавляется со всеми элементами управления, но на этот раз Управление RadTexBox исчезло из первого RadPanelItem.

И вот, когда кнопка нажата в третий раз, новый элемент добавлен со всеми элементами управления, но RadTextBox исчезнет с 1-го и 2-го предметов.

Я делаю что-то неправильно при динамическом добавлении элементов?

Спасибо!

ответ

1

Это происходит потому, что динамически созданные элементы управления, добавленные к другим динамически созданным элементам управления, теряются после обратной передачи. Вам нужно воссоздать их при каждой загрузке страницы. Насколько я знаю, для этого не существует обходного пути. Вы также можете легко воспроизвести его с классом страницы, на странице_load попробуйте Controls.Add (новый TextBox()); Затем после обратной передачи тот же код не будет генерировать новое (второе) текстовое поле, но будет воссоздавать позже.

Все элементы PanelBar (даже динамически созданные) сериализуются на клиенте и после восстановления обратной связи на сервере. И вот почему они не потеряны. Однако то же самое не относится к дочерним элементам объекта RadPanelItem.

+0

Hi. Спасибо за ответ ! получил еще один маленький вопрос :) как насчет ребенка RadPanelItem? он создается динамически, а сам элемент не потерян после обратной передачи. – shkipper

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

  • Нет связанных вопросов^_^