2012-03-03 5 views
4

Может ли кто-нибудь сказать мне, как следовать модульной архитектуре и создавать представления и контроллеры MVC3 Razor в отдельном проекте библиотеки классов?ASP.NET MVC3 Razor: Как следовать модульной архитектуре?

enter image description here

Я думаю, что это очень общее требование для разработки бизнес-приложений. Я проверил сообщение Plug-in architecture for ASP.NET MVC, но он не работает для просмотров MVC3 Razor. Сообщение об ошибке сбивает с толку: «вид не найден ... или его мастер не найден или механизм просмотра не поддерживает найденные местоположения. Были найдены следующие местоположения: ....». Я не знаю, может ли быть вид view/_ViewStart. Я также проверил сообщение A plugin framework with ASP.NET MVC3 and embedded Razor views, но он не дает никакого образца кода.

Umbraco CMS http://umbraco.codeplex.com/ реализовал архитектуру подключаемого модуля, но это слишком тяжелая структура для моего проекта.

Может ли кто-нибудь дать небольшой образец, чтобы показать, как следовать модульной архитектуре и создавать представления и контроллеры MVC3 Razor в отдельном проекте библиотеки классов? Thx в adv.

+0

См. Мой ответ на этот похожий вопрос: http://stackoverflow.com/questions/8939219/mvc-project-architecture-supporting-modules/8939242#8939242 –

+0

Поддерживает ли он вид бритвы? – xoyoja

ответ

3

Вы пробовали использовать генератор бритвы David Ebbos, который позволяет предварительно скомпоновать виды бритвы в отдельном проекте? Ссылка: here. На веб-сайте также есть пример приложения.

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

+0

Я проверил сообщение. Подход создает представления и модели в отдельном проекте библиотеки классов. Но по модулю я имею в виду наличие отдельной библиотеки, которая включает в себя модели представлений и контроллеров. Концепция аналогична архитектуре «Площадь» или плагина. Плагин здесь содержит все элементы, а не только виды бритвы. – xoyoja

+0

Представления - действительно единственная сложная часть для перехода в другую библиотеку классов. Вы можете добавить классы контроллера в другую библиотеку и указать пространство имен контроллера для ControllerBuilder. Вы также можете легко перемещать свои модели в другую библиотеку. В этом случае ваш проект класса является плагином, а основной проект может использовать отражения для любых проектов классов, реализующих представления/модели/контроллеры. – Dangerous

Смежные вопросы