Попробуйте этот ответ SO, который отвечает на тот же вопрос.
Дополнительная информация после комментария / вопроса:
Веб-формы ASP.Net могут использовать viewstate для хранения состояниясерверных элементов управления на странице и управлять вызовом событий на стороне сервера, таких как нажатие кнопки.Идея состоит в том, чтобы представить модель программирования, аналогичную подходу Win Forms, чтобы облегчить разработчикам Win Forms переход и отключение приложений на основе браузера.Чтобы узнать об этом подробнее, вы должны нажать Google и узнать о жизненном цикле страницы asp.net, который объяснит весь процесс и объяснит, где вписывается обработка viewstate. Вот довольно хорошее объяснение .
ASP.Net MVC - это другая модель программирования, в которой для генерации разметки используются разные механизмы представления, т. Е. Содержимое, которое фактически передается обратно клиенту вашего браузера.В некоторой степени это устраняет большую часть «магии», которую представляют веб-формы, но взамен вы можете создать более стандартную разметку и иметь больший контроль над тем, что будет отображаться клиенту.Если вы изучаете MVC, ознакомьтесь с примером главы NerdDinner, которая является хорошим руководством, а также с музыкальным магазином MVC.Во всем этом хорошие вступления для выполнения MVC.
MVC не использует / не нуждается в viewstate или postback, поскольку это другая модель программирования.Что лучше / более подходит для любого данного проекта - это большая дискуссия, которую я позволю другим провести, поскольку я думаю, что оба имеют свои сильные стороны и могут быть полезны в различных сценариях (хотя я лично в основном использую MVC сейчас ...).Вы правы в том, что все сделано по-другому ... вы не можете просто работать с простым подходом, управляемым событиями, который имитирует веб-формы, но тогда у MVC есть свои сильные стороны, которые вы найдете в бесчисленных публикациях в блоге, сравнивающих веб-формы иMVC.