powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическое создание контрола и PostBack
10 сообщений из 10, страница 1 из 1
Динамическое создание контрола и PostBack
    #33958140
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
На страницу я динамачески кладу свой серверный контрол

class MyControl : WebControl, IPostBackEventHandler
{
   ...
}
При PostBack'e этот конторл пропадает по понятным причинам. Вопрос такой: можно ли сделать так, чтобы после каждого PostBack'а не приходилось добавлять его заново?
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33958407
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, <Аноним>, Вы писали:

А>Доброго времени суток.
А>На страницу я динамачески кладу свой серверный контрол
А>
А>class MyControl : WebControl, IPostBackEventHandler
А>{
А>   ...
А>}
А>
А>При PostBack'e этот конторл пропадает по понятным причинам. Вопрос такой: можно ли сделать так, чтобы после каждого PostBack'а не приходилось добавлять его заново?

имхо нет )... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33958513
cadet354
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, <Аноним>, Вы писали:

А>Доброго времени суток.
А>На страницу я динамачески кладу свой серверный контрол
А>
А>class MyControl : WebControl, IPostBackEventHandler
А>{
А>   ...
А>}
А>
А>При PostBack'e этот конторл пропадает по понятным причинам. Вопрос такой: можно ли сделать так, чтобы после каждого PostBack'а не приходилось добавлять его заново?
нет... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33958793
Davader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Аноним, Вы писали:

А>Доброго времени суток.
А>На страницу я динамачески кладу свой серверный контрол
А>
А>class MyControl : WebControl, IPostBackEventHandler
А>{
А>   ...
А>}
А>
А>При PostBack'e этот конторл пропадает по понятным причинам. Вопрос такой: можно ли сделать так, чтобы после каждого PostBack'а не приходилось добавлять его заново?

У тебя же после постбека идет воссновление состояний (если включен ViewState) "обычных" контролов, но то, что ты сам добавил через Controls.Add — после Unload сбрасывается всмете с экземпляром класса твоей страницы (и всеми членами этого класса), так что ответ — НЕТ. Надо каждый раз добавлять на лоаде заново..
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33959704
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всмете с экземпляром класса твоей страницы (и всеми членами этого класса), так что ответ — НЕТ. Надо каждый раз добавлять на лоаде заново..

voobs4eto — na Init-e
v Init nujno sozdavat-vosstanavlivat strukturu stranicy
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33959774
mo3r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ещё лучше -- при LoadViewState создавать динамические контролы, а на SaveViewState записывать информацию о том, какие контролы нужно восстановить. По одной простой причине -- при Page_Init не доступен ViewState, а создавать контролы на Page_Load уже поздно -- будут пропущены события и состояние контролов.
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33991328
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, <Аноним>, Вы писали:

Я бы не был так категоричен как рядом пищущие товарищи.

Ничего не делая так сделать нельзя, это факт.

но чуть чуть подумав можно написать маленький хелпер с таким интерфейсом


public class PersistDynamicControlHelper
{
  public static AddControl( Control parent,  Control new_control );
  public static ReInstantiate    ( Page page );
}



//в PageInit вызывается 
PersistDynamicControlHelper.ReInstantiate    (this);
//а для динамических контролок вызов 
root.Controls.Add( new_control );
//заменитсмя на PersistDynamicControlHelper.AddControl( root, new_control );

написать реализацию будет домашним заданием, в понедельник приду — проверю. :)... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33991335
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, mo3r, Вы писали:

M>А ещё лучше -- при LoadViewState создавать динамические контролы, а на SaveViewState записывать информацию о том, какие контролы нужно восстановить. По одной простой причине -- при Page_Init не доступен ViewState, а создавать контролы на Page_Load уже поздно -- будут пропущены события и состояние контролов.

а кто сказал что данные о контролках которые надо востановить — нужно держать во вьюстейте? :)... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33991452
Dmitry Uvarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сколько людей, столько и мнений, но мое имхо - все контролы лучше создавать в CreateChildControls() :) и никаких проблемhttp://ln.com.ua/~openxs/articles/smart-questions-ru.html
...
Рейтинг: 0 / 0
Динамическое создание контрола и PostBack
    #33991668
RasimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Uvarovсколько людей, столько и мнений, но мое имхо - все контролы лучше создавать в CreateChildControls() :) и никаких проблемhttp://ln.com.ua/~openxs/articles/smart-questions-ru.html
что такое CreateChildControls()
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическое создание контрола и PostBack
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]