Я попытаюсь прокомментировать каждый из упомянутых вами пунктов маркированного списка:
Ваши главные страницы все еще существуют в MVC и используются для обеспечения согласованного макета сайта. не так много нового там.
Ваши контентные страницы станут представлениями в мире MVC. Они по-прежнему предоставляют те же области содержимого для ваших главных страниц.
Обработка событий веб-форм не должна использоваться в MVC, вместо этого ваши классы Controller и их методы действия будут обрабатывать загрузку ваших данных в «модель», которая передается в представление.
Хотя привязка данных в стиле веб-формы возможна в MVC, я считаю, что это не оптимальное решение. Лучше поместить свои данные в класс модели и строго набрать свое представление, чтобы иметь прямой доступ к этой модели. Тогда просто используйте синтаксис <%= ViewData.Model.SomeProperty %>
для доступа к вашим данным и отображения их в нужных местах. Что касается viewstate, я рекомендую забыть, что он даже существует.
Помните, что одним из преимуществ использования MVC является то, что вы можете контролировать HTML-код, отправляемый клиенту. Воспользуйтесь этой силой и постарайтесь найти решения, которые позволят вам сохранить этот контроль. Элементы управления Webform пытаются скрыть html от вас и поэтому затрудняют настройку html, когда это необходимо.
Я бы настоятельно рекомендовал JQuery или одну из других столь же мощных библиотек javascript. Но научитесь использовать их для прямого доступа к HTML DOM и избежать проблем с идентификацией идентификаторов элементов управления веб-формы.
Вы можете использовать jquery для подключения к раскрывающемуся списку на стороне клиента и отправки стандартных запросов или запросов в стиле ajax. Эти запросы могут возвращать новые страницы, перенаправления, фрагменты HTML или даже данные JSON, которые можно использовать для обновления существующей страницы.
Сессия asp.net может использоваться по мере необходимости.