Asp.net mvc - подпапки
Как новая реализация asp.net mvc Microsoft обрабатывает разбиение вашего приложения - например:
--index.aspx
--about.aspx
--contact.aspx
--/feature1
--/feature1/subfeature/action
--/feature2/subfeature/action
Я предполагаю, что я пытаюсь сказать, что кажется, что все должно идти в корень папок представлений/контроллеров, которые могут стать громоздкими при работе над проектом, который, если встроенный с веб-формами может иметь много и много папок и подпапки для разделения приложения.
Я думаю, что я получаю модель MVC, и мне нравится ее внешний вид по сравнению с веб-формами, но все еще озадачен тем, как вы на практике строили бы большой проект.
Ответы
Ответ 1
Нет проблем с организацией контроллеров. Вам просто нужно настроить маршруты для учета организации. Проблема, с которой вы столкнетесь, - это найти представление для контроллера, поскольку вы изменили соглашение. Для этого еще нет встроенных функций, но легко создать работу с помощью ActionFilterAttribute и настраиваемого локатора представлений, который наследует ViewLocator. Затем при создании контроллера вы просто указываете, что использовать ViewLocator, поэтому контроллер знает, как найти представление. При необходимости я могу отправить код.
Этот метод сочетается с некоторыми советами, которые я дал другому человеку для разделения их взглядов на портал с использованием ASP.NET MVC. Вот ссылка на вопрос в качестве ссылки.
Ответ 2
С точки зрения того, как вы упорядочиваете свои представления, вы можете поместить свои представления в подпапки, если хотите, и создать свою собственную структуру представления. Все представления всегда могут ссылаться на их полный путь с использованием синтаксиса. Поэтому, если вы поместите Index.aspx в \Views\Feature1\Home, вы можете ссылаться на это представление, используя ~/Views/Feature1/Home/Index.aspx.
Ответ 3
Здесь две хорошие записи в блоге, которые я нашел, которые могут помочь другим читателям:
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
Это хорошая альтернатива для группировки вашего сайта в "области".
Ответ 4
Спасибо за дополнительную информацию.... И вот еще один хороший пост от Билли МакКафферти по этому вопросу...
http://devlicio.us/blogs/billy_mccafferty/archive/2009/01/22/mvc-quot-areas-quot-as-hierarchical-subfolders-under-views.aspx