Запуск ASP.NET без включенного viewstate - PullRequest
5 голосов
/ 02 марта 2009

Мы собираемся начать перестройку одного из наших проектов ASP.NET, и я хотел бы попробовать разработать его без включенного viestate (отключено в web.config).

Я знаю о плюсах и минусах viewstate и вообще о том, что он отслеживает по сравнению с состоянием управления, однако мне хотелось бы знать:

  1. В чем принципиальные отличия процесса разработки? Т.е. как по-другому вы структурируете свою Page_Load и т. Д.?

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

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

Ответы [ 3 ]

3 голосов
/ 02 марта 2009

Если вы против viewstate - почему бы не попробовать использовать инфраструктуру MVC? Это может быть более легкая настройка.

2 голосов
/ 02 марта 2009

Большинство элементов управления, таких как TextBoxes и DropDownLists, будут прекрасно работать без состояния просмотра.

Мне неизвестны какие-либо проблемы в процессе разработки, за исключением каких-либо элементов управления или свойств, созданных или измененных с помощью кода, не сохранятся без представления состояния, поэтому вам придется пересоздать / изменить их при обратной передаче.

У меня есть очень большие страницы с большими состояниями просмотра. Я провел эксперимент по отключению viewstate для всего проекта и не обнаружил (сначала) заметной потери функциональности. Затем в тестировании возникло несколько небольших проблем, и мы восстановили их. Но наше веб-приложение на 300 страниц, вероятно, работало на 99% без представления состояния. Проблемы, с которыми мы сталкивались, были связаны с сетями данных - в основном, с подкачкой страниц, динамически создаваемыми элементами управления и другими вещами, измененными кодом позади, и, таким образом, не сохранялись без состояния представления.

Это очень хорошая статья о Viewstate:

http://msdn.microsoft.com/en-us/library/ms972976.aspx

2 голосов
/ 02 марта 2009

Я отключаю viewstate в своих проектах. Я использую методы разброса / сбора для заполнения и получения значений из страниц aspx в / из моих объектов доступа к данным. Это намного чище и проще, чем использование viewstate.

...