ASP.NET MVC намного больше соответствует технологии, на которой он основан. ASP.NET Forms пытался сделать вид, что была хорошая жирная инфраструктура с состоянием, как в стандартном приложении WinForms. Однако HTTP и веб-серверы не любят жирные приложения с отслеживанием состояния.
ASP.NET MVC позволяет разделить проблемы. Запрос обрабатывается контроллером, а не «веб-страницей», он выбирает, как отвечать, и какой пользовательский интерфейс необходим для представления этого ответа. Контроллер создает набор структурированных данных, необходимых для выбора вида, а затем передает эти данные в представление.
Это разделение позволяет значительно упростить тестирование. Представление - это всего лишь средство для представления того, что должно быть полным массивом данных. Проще создать тест для чего-то, что принимает структурированные данные и отвечает структурированными данными.
Формы ASP.NET практически невозможно протестировать подобным образом (особенно без дорогостоящих инструментов, претендующих на это). Следовательно, приложение MVC легче получить правильно и намного легче гарантировать, что оно остается правильным, последовательно выполняя существующие тесты.
Предостережение : основным недостатком ASP.NET MVC в настоящее время является отсутствие надежной документации. Я был уверен, что документы появятся "скоро".