2012-02-07 2 views
3

Я собираюсь выделить мое приложение MVC3 в области, но некоторые контроллеры и представления являются общими для нескольких областей. Как я могу поделиться ими?Совместное использование контроллеров и представлений между областями в MVC3

Я рассмотрел некоторые варианты здесь, но предпочел бы воспользоваться некоторыми советами в первую очередь. Я могу найти общие контроллеры/представления в основном приложении, т. Е. Нет в любой области, а также маршрутизировать и перенаправлять действия на эти контроллеры. Я также могу разместить контроллеры в общей библиотеке и использовать производные контроллеры в своих областях. Затем, подобно моему первому варианту, я могу использовать пользовательские контроллеры в своих областях и использовать их для целевых общих контроллеров в основном приложении.

Как мне это сделать?

ответ

2

Это действительно зависит от что такое.

Является ли HTML распространенным? Затем используйте шаблоны или частичные файлы редактора и поместите их в общие папки.

Является ли код контроллера общим? Затем используйте дочерние действия с самим действием, помещенным в контроллер в корневой каталог (например, не в области).

Это вопрос предпочтения. Я большой поклонник хранения моих контроллеров DRY, поэтому мне нравится использовать дочерние действия для рендеринга общего контента (подумайте, что модули RHS на этой странице, они будут для меня дочерним действием).

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

1

попробуйте это .. Я думаю, это поможет вам. http://lostechies.com/erichexter/2009/11/01/asp-net-mvc-portable-areas-via-mvccontrib/

+0

Благодаря @Sasha, я рассмотрю это немного больше, но это, похоже, больше ориентировано на совместное использование приложений, требующих сложности упаковки, которые, как мне кажется, немного переборщились. – ProfK

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