Мой проект 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}