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

не хватает тямы как восстановить ViewState в динамических контролах.
тестовый проект в attaсhe

repro:

- запустить проект
- в поле "Test View State::" написать что-нибудь
- нажать кнопку Save in ViewState
- счелкать кнопки [expand colapse close] - убедится, что введений ViewState выводится после постбека
- перенести за шапку окошечко в другое место.
- счелкать кнопки [expand colapse close] - убедится, что введений ViewState потерялся

PS: тестовый проект был написал за 5 минут, просьба не стебаться.

Спасибо.


//tender
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449136
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что надо? Объясните бесценным даром речи.
10derне хватает тямыЧто такое тяма?
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449172
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Троллим? (:

Еще раз, кто не понял.
Не восстанавливаться ViewState в динамически созданных объектах, после постбека.
На сколько я могу понимать из-за того, что ID контролов пере создаются новые.
Как вариант лечения этого я знаю - оверрайд у контейнеров, которые загружаются динамически, UniqueID и ClientID, но тогда мы попадаем, как минимум на оверрайд еще FindControl, а это уже слишком.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449201
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10derТроллим? (:Это вы о чем? Простите что приходится напоминать, но форум не забор, писать всякую ерунду.
10derНе восстанавливаться ViewState в динамически созданных объектах, после постбека.
На сколько я могу понимать из-за того, что ID контролов пере создаются новые.
Как вариант лечения этого я знаю - оверрайд у контейнеров, которые загружаются динамически, UniqueID и ClientID, но тогда мы попадаем, как минимум на оверрайд еще FindControl, а это уже слишком.Вы не указали в какой момент вы создаете "динамически созданных объектах"
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449206
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПростите что приходится напоминать, но форум не забор, писать всякую ерунду.
Спасибо за напоминание. Извините, больше не буду.

авторВы не указали
Простите, за наглость, но я положил рабочий тестовый repro-проект, там все видно где оно создается, поэтому я не люблю болтологию.
Модератор: Вы нехорошие слова употребили "троллим" и "болтология". Строгое предупреждение.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449308
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серж, стринг, чего на парня наехали? С какого предупреждение и за что? Чел адекватно изложил трабл и чётко приложил сорс, что еще нужно.

P.S. 10der, вчера смотрел Ваши сорцы, у меня почему-то вьюстейт сохранялся на протяжении всей работы (нажимания кнопок и перетягивания окна)...
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449310
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10der, не все имеют возможность загрузить проект, запустить у себя на машине, догадаться какую проблему решает ТС, предложить доступное и понятное решение. Мы все делаем также свою работу, у нас тоже есть начальники, которые решают, что нам делать или не делать. Поэтому просим понять.
Гораздо быстрее вопросы решаются, если ТС прямо и четко объяснит проблему или фичу, которую он хочет сделать. У вас я так понимаю проблема с ViewState динамических контролов. В случае использования ViewState динамических контролов зачастую их приходится создавать немного раньше, чем позволяет текущий код. Поэтому я бы не рекомендовал использовать ViewState таких контролов вообще.
Однако в тех немногих случаях, когда найти другое решение нельзя, используйте дополнительное поле HiddenField и кидайте туда полюбившиеся значения.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449332
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n_string10der, не все имеют возможность загрузить проект, запустить у себя на машине, догадаться какую проблему решает ТС
Это их проблемы. А у других нет возможности юзать интернет, так что, - давайте предложим автору дублировать ветку через Почту России.

n_stringМы все делаем также свою работу, у нас тоже есть начальники, которые решают, что нам делать или не делать. Поэтому просим понять.
... какие-то левые сопли, к чему они - загадка.

n_stringГораздо быстрее вопросы решаются, если ТС прямо и четко объяснит проблему или фичу, которую он хочет сделать.
Что автор наглядно и сделал...

n_stringУ вас я так понимаю проблема с ViewState динамических контролов.
Как хорошо, что Вы это так быстро поняли :)
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449333
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Спасибо за помощь.
Странно. Видно все таки какая то плавающая бага. т.к. у меня ViewState исчезает на тестовом проекте.
Плюс когда мои ребята подключают к большому и толстому проекту, на котором мастер пейдж плюс куча их компонент - вьюстейт слетает напрочь вообще (идет трап с криками invalid viewstate)


авторчего на парня наехали

PS: да я не мальчик, что бы обижаться (: когда за спиной под пятьдесят на все это смотришь другими глазами (:
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449362
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10der, ViewState самое нестабильное хранилище. Причин тут много, это и соединения, и ошибки, и клиентские повреждения. Поэтому полагаться в динамических контролах не стоит. Я обычно храню небольшой набор параметров, а ViewState на остальных контролах по-просту выключаю.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449393
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n_string10der, ViewState самое нестабильное хранилище. Причин тут много, это и соединения, и ошибки, и клиентские повреждения.
Каким боком соединения коррелируют с вьюстейтом? Что такое "клиентские повреждения"?
Стринг, не несите хрень. ViewState - нормальный удобный контейнер клиентского состояния, который не грузит сервер.

n_stringПоэтому полагаться в динамических контролах не стоит.
Нужно разобраться с первопричиной трабла, а не грешить на динамику.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449397
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне тоже ничего "качать" не хочется.
а динамические контролы обычно достаточно правильно пересоздавать, чтобы все получалось с вьюстейтом.
может, код кто-то покажет? ;=)
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449442
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автордостаточно правильно пересоздавать

научи! (:

я правильно их пере создаю в CreateChildContols с преварительнім вызовом EnsureChildControls (:

Еще раз, если принудительно заставить оверрайдить в контейнере UniqueID + ClientID плюс станцевать с бубном, после этого = все случается. Но я как бы не хочу этого изврата.

Я гарантировано понимаю, что после постбека все контролы, что я создаю, пересоздаются системой так как ей хочется. т.е. если я создал контрол и назвал его pnl.ID = "yey"; и даже после пост бека его так же пересоздал, все равно асп, во первіх превратить нечто типа в ctl00_croot_left_content_pnyey, во вторых если я повесил обработчик на этот контрол типа pnl.Click +=... он тоже после постбека, при условии, что произошел реордер контролов (перетянули в другое место!) он тоже потеряется! (ну если как я сказал, не сделать шаманство с реврайтом ID)

PS: я не жадный (: Для тех кто реально хочет помочь и допилить тестовую библиотеку вот дарю исходники.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449468
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10derназвал его pnl.ID = "yey"; и даже после пост бека его так же пересоздал, все равно асп, во первіх превратить нечто типа в ctl00_croot_left_content_pnyey

Вы пишите про ID контрола, но ctl00_croot_left_content_pnyey очень похож на ClientID. ID не меняется сам по себе, ClientID - легко меняется, если контрол меняет местоположение.
...
Рейтинг: 0 / 0
ViewState PostBack
    #37449478
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторClientID - легко меняется, если контрол меняет местоположение.
Бинго! (:
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ViewState PostBack
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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