Подтвердить что ты не робот

Могут ли "классические" страницы ASP.NET и Microsoft MVC сосуществовать в одном и том же веб-приложении?

Сейчас я собираюсь попробовать MVC для нового приложения, которое мы запускаем, но мне любопытно, все ли это или ничего, или я могу по-прежнему участвовать в этом турнире 2006 года с помощью viewstate и других костылей на в то же время...

4b9b3361

Ответ 1

Да, вы можете иметь ваши страницы веб-форм и представления MVC в одном проекте веб-приложения. Это может быть полезно, если у вас уже создано приложение, и вы хотите перенести приложение из webforms в mvc.

Вам нужно убедиться, что ни одна из ваших страниц веб-форм не входит в каталог "Представления" в стандартном приложении ASP.NET MVC. Страницы (или представления) в каталоге "Представления" не могут запрашиваться непосредственно через URL-адрес.

Если вы начинаете приложение с нуля, будет очень мало пользы для смешивания этих двух.

Ответ 2

Да. MVC - это просто реализация интерфейса IHttpHandler, поэтому как классические страницы ASP.NET, так и ASP.NET MVC могут сосуществовать в одном приложении.

Ответ 3

Как вы, вероятно, заметили с приведенными выше ответами, да, это очень возможно сделать.

Я действительно должен был сделать это в своем текущем проекте. Мне удалось получить разрешение на добавление MVC в наше приложение, но только в разделе администрирования (чтобы ограничить риск воздействия на текущих участников на наш сайт).

Самая большая проблема, с которой я столкнулся, заключалась в преобразовании моего веб-сайта в веб-приложение, но как только это было сделано, все было довольно просто, добавив MVC бок о бок наших классических веб-страницах с кодовым кодом.

Хитрость для меня заключалась в том, чтобы мои страницы MVC выглядели как можно более похожими на мои страницы с кодовым кодом, поэтому переход выглядел как можно более бесшовным.

Ответ 4

В настоящее время я работаю над новым проектом. Хотя я хотел бы спуститься по маршруту MVC полностью, некоторые из требований проекта не позволяют мне.

Одно из этих требований - иметь сетку группировки с клиентской стороны. Лично выбрали "Телерику Рад-Грид". Хотя они могут находиться в процессе поддержки MVC, их пока нет.

Итак, это означает, что у меня должно быть гибридное решение. пока до тех пор, пока RadGrid не будет полностью поддерживать MVC.
Хотя мы находимся в этом переходном периоде, я думаю, что там будет больше гибридных проектов, пока не будет достигнута поддержка сторонних органов управления.

Привет

Натан

Ответ 5

Вам нужно убедиться, что ваши маршруты MVC не конфликтуют с вашими страницами Web Forms, так что запросы на страницу .aspx не попадают в действие контроллера как параметр и т.д.

Подробнее о том, как этого избежать, см. этот пост в блоге от Phil Haack.

Ответ 6

Да, страницы MVC очень могут сосуществовать с веб-формами asp.net. Я реализовал это в моем существующем приложении asp.net для добавления новых функций. Нам нужно убедиться в том, что нужно ссылаться на DLL MVC, регистрируя таблицы маршрутизации для маршрутизации URL-адресов и настраивая сборки и пространства имен в файле Web.config.

Ответ 7

Если вы смешиваете MVC с другими методологиями, вы не получаете выгоду от этого. Точка MVC - это позволить вам уменьшить сцепление и увеличить сцепление, и если только половина вашего кода делает это, тогда другая половина неизбежно будет сдерживать ваш цикл разработки.

Итак, я думаю, хотя это возможно, я не думаю, что это того стоит. Пойдите полностью или не пойдете вообще.