Вы не выбираете ASP.Net MVC вместо ASP.Net, потому что ASP.Net MVC по-прежнему ASP.Net. Вы выбираете ASP.Net MVC или ASP.Net Web Forms, и для этого есть много веских причин:
- Проще получить контроль над вашим HTML
- Проще сделать юнит-тестирование
- Мало "Gotchas"
С другой стороны, веб-формы имеют несколько преимуществ:
- Очень просто собрать простые CRUD / бизнес-приложения вместе
- Трудно побить производительность ViewState в локальной сети
- Простая в освоении парадигма форм
В результате, если вы создаете бизнес-приложения в среде корпоративной локальной сети (что, честно говоря, по-прежнему большинство веб-разработчиков), веб-формы действительно хороши. В этом смысле Microsoft действительно знает их рынок. Но если вы создаете приложение для общедоступного Интернета, вам может потребоваться MVC, чтобы вы могли тщательно протестировать и убедиться, что ваши страницы не раздуты ненужными данными ViewState или JavaScript.
Кроме того, за последние несколько лет изменилось то, что даже многие приложения корпоративной интрасети теперь должны поддерживать домашнее / удаленное использование, что делает MVC более привлекательным для этой аудитории, чем это было.