Как создать ASPX-страницы в MVC 4
Некоторое время я работал с ColdFusion, но потом ненадолго покинул арену веб-разработки. Сейчас я вернулся и был нанят как веб-разработчик среднего уровня (прямо над записью). Мое рабочее место использует MVC 4, но не использует Razor View Engine. Две купленные мной книги по MVC 4 (а также огромное количество учебных пособий и блогов) обсуждают только использование Razor, которое я использую в процессе самообучения, но мне нужно понять, как это работает, если НЕ использовать двигатель бритвы.
При использовании ASPX View Engine, как вы собираетесь использовать его? Работает ли он как обычная страница ASPX, где я размещаю свои элементы управления ASP.NET на странице, а затем ссылаюсь на них с помощью кода в C#? Только вместо того, чтобы использовать элементы управления ASP.NET, я вместо этого использую методы HtmlHelper? Имейте в виду, я не спрашиваю об основном формате использования <% %>
вместо <@
потому что большая часть этого была освещена здесь: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx. Я не понимаю, как трафик будет перенаправляться на эти страницы ASPX через мой базовый HomeController (который имеет несколько ActionResult()
методы, ничего большого).
Я могу уточнить больше, если это будет необходимо.
3 ответа
Все страницы просмотра MVC имеют одинаковый жизненный цикл независимо от механизма просмотра:
- Маршрутизация - запрос сопоставляется с методом действия (с использованием данных запроса, таких как URL, строка запроса, сеанс и т. Д.)
- Контроллер - Контроллер создан для соответствующего метода действия. Он заполнен всей средой, запросом и данными сеанса
- Действие - вызывается соответствующий метод действия
- Результат - The
ActionResult
возвращается методом действия. Для результата просмотра это означает: 1) механизм просмотра находит соответствующее имя представления, 2) экземпляр соответствия создается с любыми данными модели, возвращенными методом действия, 3) представление обрабатывается механизмом представления.
Это означает, что представление WebForms будет выполняться механизмом представления MVC WebForms, а не системой ASP.NET WebForms. Движок представления выполнит некоторый базовый анализ, чтобы добавить данные из вашей модели в представление (как указано в <%%>
).
Кроме того, к вашему сведению, вы даже можете смешивать представления в одном проекте (требуется некоторая настройка).
Идея MVC состоит в том, чтобы избавиться от кода позади, поэтому старый способ перетаскивания в конструктор и манипулирования элементом управления из кода позади стал несколько устаревшим или избыточным. Если вы уже используете помощников HTML5.. Я бы продолжил это делать.
Это сугубо личное мнение... но я бы сделал аргумент в пользу использования Razor.
Изменить: вы передаете модель в представление... модель содержит данные.
Если вы используете ASP.NET MVC, забудьте о коде. Что касается движков представлений, вы можете использовать как бритву, так и aspx, что означает, что синтаксис, который вы можете использовать в своих представлениях, это либо бритва, либо aspx. Маршрутизация не будет зависеть от выбранного вами механизма представления. (Он будет вести себя одинаково, независимо от того, выберете ли вы механизм просмотра бритвы или aspx. И никакие представления aspx не ведут себя как обычная веб-форма aspx, нет кода за отсутствием состояния представления и т. Д. Вот хорошее сравнение ASP.NET и ASP.NET MVC и вот сравнение различных движков представления.