Почему мое состояние просмотра растет между обратными отправками при использовании динамических данных?

StackOverflow https://stackoverflow.com/questions/1066298

Вопрос

Я пишу довольно сложную веб-форму, используя ASP.NET Динамические данные.Некоторые элементы управления в этой форме публикуются обратно, поскольку между элементами управления существуют зависимости.Я замечаю, что viewstate увеличивается с каждой обратной отправкой, пока примерно через 5 лет не возникнет длительная задержка между процессом рендеринга и фактической загрузкой страницы в веб-браузере.

Это происходит, даже если я ПРОСТО нажимаю переключатель, чтобы вызвать обратную отправку, без ввода каких-либо данных или каких-либо других изменений в форму...

Я проверил более старую версию формы, которая не использует динамические данные, и viewstate вообще не растет...итак, я предполагаю, что в чем-то виноваты элементы управления динамическими данными...

Кто-нибудь еще видел это?Есть ли способ это исправить?

Это было полезно?

Решение 2

Итак, виновником был RadComboBox от Telerik.Более конкретно, это было отсутствие поддержки динамических данных с использованием RadComboBox.Чтобы быть еще более конкретным:

Обходной путь для использования RadComboBox с DynamicData заключается в том, чтобы иметь выпадающий список с видимым значением false, вызвать PopulateListControl для этого DDL и затем скопировать элементы в RadComboBox.

Это работает нормально, за исключением случаев, когда вы делаете это при каждой обратной отправке...Я предполагаю, что он помещает весь список в Viewstate, когда вы делаете это таким образом, и поскольку я делал это при каждой обратной отправке...состояние просмотра продолжало расти.

Другие советы

Я не знаю прямого ответа на ваш вопрос, но, возможно, один из этих инструментов поможет вам в дальнейшей диагностике:

(1) Инструмент декодирования ViewState от Fritz Onion от Fritz Onion, возможно, сможет помочь вам выяснить, что там происходит.Вы можете найти ViewSate Decoder, указанный на Страница инструментов Pluralsight.Прямая ссылка для скачивания: ViewStateDecoder22.zip.

Снимок экрана Декодера ViewState http://alt.pluralsight.com/images/decoderscreenshot.gif

(2) Еще одним инструментом, на который, возможно, стоит обратить внимание, является ASP.NET Помощник ViewState:

"[...] ASP.NET ViewState Helper разработан, чтобы помочь всем веб-разработчикам, но имеет специфические функции, помогающие ASP.NET разработчикам отлаживать проблемы ViewState .Анализируйте свои веб-страницы в режиме реального времени во время их просмотра с помощью Internet Explorer 6.0 или более поздней версии.[...]"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top