Потребуется несколько недель, чтобы перейти на новую технологию или «образ мышления».
С MVC вы должны избавиться от старого мышления ASP.NET Forms «сложного веб-приложения» в том смысле, «сколько у нас страниц, более 300 страниц! Это было бы огромно!». Вы меняете вид всего вашего приложения. Вы переходите от старого мышления «какую страницу нужно создать дальше» к мышлению MVC о том, «какую функцию нам нужно реализовать дальше».
Например, я сам взял под свой контроль проект, который содержит более 3300 файлов только в «веб-проекте» (плюс 11 вспомогательных сборок). Одна вещь, которую я создаю, - это то, как MVC резко сократит количество физических файлов примерно до 310 или около того. Как? Потому что я ухожу от «вот одна страница. Вот другая страница». к «вот функции, которую я хочу реализовать» мышления.
Рассматривая страницы как функцию, которую вы пытаетесь выполнить, вы вместо этого начинаете абстрагировать части этой страницы в общую функциональность.
MVC может значительно масштабироваться с таким образом мышления, потому что теперь у вас есть шаблон для того, как вы хотите, чтобы он выглядел, вам просто нужно реализовать другую «функцию», чтобы изменить внешний вид того представления (html), которое вы хотите оказывать. Нет 2-й страницы, нет дополнительных элементов управления и т. Д.
Теперь, что касается «без веб-контроля», как вы упомянули: опять же, это требует другого способа мышления. Существует HtmlHelper, который используется для базового рендеринга и кодирования. Я использую ту же концепцию с абстрагированным классом MyProjectHelper, который отображает мои «функции» на странице (functions = code).
Например, я всегда создавал серверный элемент управления для моих DisplayNames в прошлом. Это позволило мне контролировать способ отображения DisplayName, особенно с переключением на Facebook Connect и другими вещами. В MVC я больше не использую «серверный элемент управления», а «функцию» в ViewModel для визуализации этого текста: CollegeProjectViewModel.RenderDisplayName (). Так как это только часть уровня пользовательского интерфейса, он будет отображать привязку по мере необходимости с любыми опциями, которые я захочу (конечно, аннотация наследуется CollegeProjectViewModel, который обрабатывает «базовый» рендеринг текста).
Сила MVC заключается в возможности больше не требовать «веб-страницы», а вместо этого использовать «функции» или методы того, что вы хотите делать с вашим сайтом. Переходя к этому образу мышления, вы действительно можете масштабировать с помощью столько методов, сколько создаете на своих контроллерах. Это действительно ускоряет процесс в массовом масштабе. IMO.