MVC может поддерживать состояние так же, как WebForms. У вас все еще есть Session или MVC TempData, если вам это действительно нужно.
Сказать, что вы должны писать метрические задания по управлению состоянием, немного гиперболично. Реализации, подобные ViewState, на самом деле очень просты в создании. По своей сути ViewState просто сериализует и шифрует информацию о состоянии в поле <input type='hidden'>
. С концепциями связывания моделей MVC это действительно легко реализовать.
Вам также следует учесть, что с MVC модные javascript совершенства также становятся намного доступнее. На самом деле гораздо проще поддерживать сложные мастера на основе JavaScript или аналогичные страницы в клиентском браузере, поэтому вам даже не нужно использовать Session или TempData.
Все новые разработчики MVC в конечном итоге сталкиваются с «стеной управления состоянием» во время обучения. MVC просто использует другой подход, и вам нужно настроить свой образ мыслей WebForms, чтобы справиться с ситуацией. Изучение того, как реализовать шаблон Post / Get / Redirect и эффективное использование javascript / ajax, действительно очень поможет в этом отношении.
MVC просто выглядит чуждо и безумно для разработчиков WebForms, но как только вы преодолеете некоторые препятствия в обучении, вы действительно начнете летать и поддерживать состояние как чемпион. :)
Если вы осуществляете проверку, это ваш выбор, и он не требуется. MVC помогает автоматизировать генерацию проверки на стороне клиента из метаданных, поэтому дублирование очень мало. Вам также следует учитывать, что между проверкой почтового индекса и реальной бизнес-логикой существует большая разница.