Могут ли «классические» страницы ASP.NET и Microsoft MVC сосуществовать в одном веб-приложении? - PullRequest
12 голосов
/ 25 сентября 2008

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

Ответы [ 7 ]

8 голосов
/ 25 сентября 2008

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

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

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

4 голосов
/ 25 сентября 2008

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

1 голос
/ 14 февраля 2009

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

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

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

Привет

Nathan

1 голос
/ 26 сентября 2008

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

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

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

Уловка для меня состояла в том, чтобы мои страницы MVC выглядели как можно более похожими на мои страницы с выделенным кодом, чтобы переход выглядел как можно более плавным.

0 голосов
/ 19 августа 2015

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

0 голосов
/ 25 сентября 2008

Необходимо убедиться, что маршруты MVC не конфликтуют со страницами веб-форм, чтобы запросы на страницу .aspx не перенаправлялись в действие контроллера в качестве параметра и т. Д.

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

0 голосов
/ 25 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...