Вопрос

Как новая реализация Microsoft asp.net mvc обрабатывает разделение вашего приложения на разделы - например:

--index.aspx
--about.aspx
--contact.aspx
--/feature1
--/feature1/subfeature/action
--/feature2/subfeature/action

Я предполагаю, что я пытаюсь сказать, что, похоже, все должно помещаться в корневой каталог папок views / controllers, что может стать громоздким при работе над проектом, который, если он создан с помощью web forms, может содержать множество папок и подпапок для разделения приложения.

Я думаю, что у меня есть модель MVC, и мне нравится, как она выглядит по сравнению с веб-формами, но я все еще пытаюсь понять, как можно построить большой проект на практике.

Это было полезно?

Решение

Нет никаких проблем с организацией ваших контроллеров.Вам просто нужно настроить маршруты с учетом особенностей организации.Проблема, с которой вы столкнетесь, заключается в поиске представления для контроллера, поскольку вы изменили соглашение.Для этого пока нет какой-либо встроенной функциональности, но легко создать обходной путь самостоятельно с помощью атрибута ActionFilterAttribute и пользовательского локатора представлений, который наследует ViewLocator.Затем, создавая свой контроллер, вы просто указываете, какой ViewLocator использовать, чтобы контроллер знал, как найти представление.Я могу опубликовать некоторый код, если это необходимо.

Этот метод отчасти согласуется с некоторыми советами, которые я дал другому человеку по разделению их представлений для портала с использованием ASP.NET MVC.Вот этот ссылка на вопрос в качестве ориентира.

Другие советы

Что касается того, как вы упорядочиваете свои представления, вы можете поместить их во вложенные папки, если хотите, и создать свою собственную структуру представлений.На все представления всегда можно ссылаться по их полному пути, используя синтаксис ~ .Итак, если вы поместите Index.aspx в \Views\Feature1\ Home, то вы могли бы ссылаться на это представление, используя ~/Views/Feature1/Home/Index.aspx .

Вот два хороших поста в блоге, которые я нашел и которые могут помочь другим читателям:

http://stephenwalther.com/blog/archive/2008/07/23/asp-net-mvc-tip-24-retrieve-views-from-different-folders.aspx

В этой статье немного более подробно рассказывается о том, что Хаакед описал выше.

http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

Это хорошая альтернатива для группировки вашего сайта по "областям".

Спасибо за дополнительную информацию, scurial...А вот еще один хороший пост от Билли Маккафферти на эту тему...

http://devlicio.us/blogs/billy_mccafferty/archive/2009/01/22/mvc-quot-areas-quot-as-hierarchical-subfolders-under-views.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top