Мой вопрос: почему?
Поскольку большинство из них зависят от таких вещей, как ViewState и модели Postback, которые являются частью классической модели WebForms и более не существуют в ASP.NETMVC.Эти серверные элементы управления полагаются на события, которые будут выполнять обратную передачу на сервер, сохраняя свое состояние в скрытых полях (ViewState).В ASP.NET MVC вы больше не работаете с такими событиями, как Button1_Click
.В ASP.NET MVC вы работаете с моделью, контроллером и представлением.Контроллер отвечает за получение пользовательских запросов, запрос модели, преобразование результатов в модель представления и передачу этой модели представления в представление, в обязанности которого входит отображение его в некоторой форме.
В ASP.NET MVC естьявляются помощниками HTML, которые можно использовать для генерации фрагментов HTML многократного использования между представлениями.Вы можете взглянуть, например, на Telerik ASP.NET MVC suite таких помощников.Они называют их элементами управления, но они не имеют ничего общего с классическими элементами управления на стороне сервера WebForms.Они всего лишь помощники HTML.
В основном классические веб-формы - это утечка абстракции в Интернете.В то время, когда они разрабатывали эту платформу, Microsoft делала так, чтобы существующие навыки разработчиков Windows были доступны в сети, что набирало все больший импульс.Но так как сеть все еще была новой технологией, с которой большинство разработчиков еще не знакомы, они создали эту абстракцию, чтобы скрыть способ работы www.Эти разработчики привыкли перетаскивать элементы управления на своих Windows Forms, дважды щелкая кнопки, которые генерировали для них некоторый код, в который они помещали свою логику доступа к данным и так далее.Эта модель была перенесена на разработку веб-приложений благодаря WebForms.Протокол HTTP был успешно скрыт за этой абстракцией под названием WebForms.Например, вам не нужно знать ни HTML, ни Javascript, ни даже CSS, чтобы создать веб-сайт с использованием WebForms, что действительно здорово, потому что фреймворк абстрагирует все эти вещи для вас.К сожалению, делая это, вы не можете легко использовать всю мощь веб-технологий более низкого уровня, которые могут понадобиться некоторым людям при разработке веб-приложений.
Что ASP.NET MVC в основном удаляет эту дырявую абстракцию и приносит wwwдля разработчиков так, как это было задумано его создателями.ASP.NET MVC недостаточно развит по сравнению с классическими веб-формами, поэтому вы не можете ожидать, что найдете тот же диапазон доступных элементов управления и виджетов, но ситуация постепенно меняется.
Я бы рекомендовал вам начать с ASP.NET MVC:http://asp.net/mvc. Вперед, посмотрите видео, поиграйтесь с примерами и посмотрите, подходит ли вам ASP.NET MVC или нет.И, конечно же, если вы столкнулись с какой-то конкретной трудностью или вопросом, не стесняйтесь вернуться сюда и задать его.