Спорное утверждение, я пока не нашёл существенных преимуществ, кроме того, что это «модно», поэтому оставляю предпочтение webforms. Нужно просто правильно его использовать. (Между прочим, многие разработчики даже не знают, что в webforms на странице может быть и более одной формы, и с упорством продолжают совать <form runat=server> прямо в <body>)
Мой опыт веб-разработки начинался с PHP, где не было никаких ViewState и постбэков — весь рендеринг страницы контролировался только мной. И поэтому, придя на работу, на которой пришлось работать с WebForms, я долго не мог привыкнуть к этой технологии, что-то мне в ней казалось неестественно и громоздко. Но за это время успел порядком привыкнуть к C# и .NET. Поэтому ASP.NET MVC Framework меня очень порадовал, т.к. там сочетается удобство строго-типизированного языка и наличие большой библиотеки классов вместе с полным контролем за содержанием результирующего документа и реализацией шаблона MVC.
Вот вы не поверите, но тоже самое я хочу сказать и о webforms.
Я ни в коем случае не хочу показаться mvcфобом, но mvc не пришёл на замену webforms. Он открыл альтернативный путь и лично я не вижу причин переходить на него.
А если завтра появится новая технология, и все скажут «Вау» то все начнут изучать её и бросят mvc? А сайты когда делать?: о)
На многих сайтах большинство страниц содержат только форму поиска и авторизации. Если на этих страницах не размещать серверную форму, которая там не нужна, то не будет и viewstate, который так все не любят.
не описан механизм работы ActionMethodSelectorAttribute, FilterAttribute и ActionFilterAttribute, механизма ActionInvoker и класса ControllerActionInvoker. Так же стоит рассказать про Model Binding.
Обработка запросов в ASP.NET MVC