Использование разных макетов в проекте ASP.NET MVC3 (Razor) - PullRequest
0 голосов
/ 12 февраля 2012

Мой проект ASP.NET MVC3 состоит с одной стороны самого веб-сайта, а с другой стороны, что-то вроде «панели управления администратора».Это означает, что мне нужно использовать 2 совершенно разных основных макета.

Есть несколько способов добиться этого:

  • поверх каждого представления администратора, я мог бы добавить @ {Layout = "~ /.../_ AdminLayout.cshtml ";}
  • Я также мог бы использовать перегруженный метод View в контроллерах администратора, например return view ("Index", "_AdminLayout", viewModel);

Но оба подхода немногонемного в отличие от принципа СУХОЙ.

Какой подход наиболее распространен?Возможно, есть способ поместить некоторую логику в файл _ViewStart , который может автоматически решить, использовать ли администратор или обычный макет страницы, если да, то как?

В случае, если этополезно, мои маршруты для обоих разделов разные.

Normal page: {controller}/{action}/{id}
Admin page: admin/{controller}/{action}/{id}

1 Ответ

4 голосов
/ 12 февраля 2012

Как насчет создания административной области и настройки основного макета администратора в файле _ViewStart для этой области?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...