ASP.NET MVC: индивидуальный дизайн для домена - PullRequest
0 голосов
/ 20 апреля 2010

Я имею в виду проект ASP.NET MVC 2, который должен отображать одну и ту же модель домена (с разными данными) в другой разметке или дизайне страницы (выбирается доменом URL).

Яне уверен, какой из них использовать:

  1. набор представлений для уникального домена + одно значение по умолчанию?
  2. области использования?
  3. любая другая идея?

Как бы вы это сделали?Спасибо.

РЕДАКТИРОВАТЬ

Я наконец-то вышел со своим собственным решением.Особенности:

  • .NET 4 MVC 2
  • фреймворки, библиотеки: NCommon, EF4, MVCContrib, AntiXSS
  • загрузка конфигурации (модулей) на домен
  • языки, локализация, темы

Есть много дел, но я могу поделиться своим кодом, чтобы улучшить его.Отправьте мне письмо на skorunka@genitor.cz

1 Ответ

1 голос
/ 21 апреля 2010

Я бы предложил пройти через эту серию поста Роба Эштона специально

  1. http://codeofrob.com/archive/2009/11/01/dynamically-switching-between-master-pages-in-asp.net-mvc.aspx
  2. http://codeofrob.com/archive/2010/02/08/multi-tenancy-in-asp.net-mvc-views.aspx

Тем не менее, я думаю, что вам, возможно, потребуется сделать некоторые изменения в том, как разрешаются имена представлений. Ключевой момент, который я считаю отмеченным в посте Роба, заключается в том, что представления должны быть разрешены и расположены в обратном порядке, т. Е. Всегда искать представления, определенные для вашего текущего сайта, и переходить к корню, где присутствует полный набор представлений.

набор просмотров на уникальный домен + один по умолчанию

Да - с учетом того, что вам могут понадобиться только определенные представления для домена

области использования?

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

есть еще идеи?

Использование идеи Роба, безусловно, хороший вариант. Тем не менее, я бы принял во внимание, сколько доменов (сайтов) вы ожидаете увидеть по-разному. Я имею в виду случай (не очень YAGNI), где каждая область для каждого сайта имеет различные требования к представлению. Таким образом, для сохранения представлений необходим продуманный план. Пример возможной структуры каталогов.

-- Default
   -- Area1  // Site2's views rendered from here
      --Views
      --Shared
   -- Area2  
      --Views
      --Shared
   ...
-- Site 1 // all views from Site 1 are rendered from this folder
   -- Area1  
      --Views
      --Shared
   -- Area2  
      --Views
      --Shared
-- Site 2 // only view for Area2 are rendered from here
   -- Area2  
      --Views
      --Shared
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...