2009-03-02 2 views
5

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

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

  1. Каковы принципиальные отличия процесса развития? Т.е. как иначе вы структурируете свою Page_Load и т. Д.?

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

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

ответ

2

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

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

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

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

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

2

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

+0

Благодаря ocdecio то, что вы имеете в виду разброс/собирать методы? Используете ли вы оставшуюся часть страницы ASP.NET/события? –

+0

Да, я использую модель событий обычной страницы. Собирать = собирать значения из элементов страницы в мои объекты; scatter = заполнять элементы страницы со значениями из моих объектов. –

3

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

+0

Это был определенно вариант, но, к сожалению, тот, который прошел мимо нас в то время. Если бы мы сегодня начали снова, тогда MVC определенно был бы способ пойти. –