Запустив веб-формы asp.net и перейдя на asp.net mvc, я могу с уверенностью сказать, что я предпочитаю asp.net mvc. Некоторые люди предпочитают веб-формы, в то время как другие предпочитают mvc. Webforms существует уже давно и имеет очень богатое сообщество, и есть бесчисленное множество пользовательских элементов управления, которые вы можете скачать и купить.
Webforms чувствуют себя очень знакомыми разработчикам Winforms и всем, кто имел какой-либо опыт в программировании на основе событий. Webforms по моему мнению, однако, довольно тяжеловес. Он затягивает ваши глаза, чтобы вы получили опыт кодирования страниц asp.net, который выглядит несколько как создание приложения для Windows. Перетащите элементы управления на страницу (или напишите разметку самостоятельно) и зарегистрируйте обработчики событий для OnClick и т. Д., А также источники данных для привязки и т. Д.
Чтобы получить хорошее представление о веб-формах, вам необходимо хорошо понимать жизненный цикл страницы asp.net и все происходящие события. Это имеет первостепенное значение для обеспечения привязки ваших элементов управления на правильной стадии жизненного цикла страницы, правильного восстановления состояния просмотра и т. Д. Это кривая изучения веб-форм.
Как утверждают другие, MVC требует большего знания html, javascript / JQuery, CSS и общего понимания парадигмы модели, представления, контроллера.
Пока asp.net webforms 4 Я верю? на дорогах при создании немного более чистого HTML, у вас все еще есть проблема со сложными страницами раздутого представления, уродливого HTML и т. д.
Что приятно, так это использование фреймворка, такого как ASP.NET MVC, но затем использование некоторых элементов управления веб-формами, таких как диаграммы, сервер отчетов. Однако вместо того, чтобы размещать их прямо в вашем представлении, как на странице в asp.net mvc, лучше абстрагировать компоненты веб-форм от MVC и заставить их возвращать изображение, FileContentResult или что-то подобное.