MVC4如何为区域配置不同的布局和CSS

Ric*_*ard 1 asp.net-mvc-areas asp.net-mvc-4

我有一个MVC4网络应用程序,并创建了2个区域.我看不出如何为它们使用不同的布局.当我创建区域时没有为它们生成共享文件夹时,我尝试在名为BO的区域中创建一个并在那里复制_layout.cshtml文件,没有运气.在那里复制_viewstart.cshtml文件,
重命名_layout.cshtml并将BO区域的_viewstart.cshtml中的布局调用更改为

Layout = ~/Areas/BO/Shared/Views/_BOLayout.cshtml";
Run Code Online (Sandbox Code Playgroud)

仍然没有运气,当我导航到BO区域主页时,布局和css&JS文件都没有加载.制作区域的很多东西都使用了根_layout.cshtml,但我找不到很多关于每个区域使用不同的东西.有什么建议吗?

PS.上面的(在那里复制了_viewstart.cshtml文件)也破坏了一些东西; 我得到:类型'ASP._Page_Areas_BO__ViewStart_cshtml'不从'System.Web.WebPages.StartPage'继承.导航到该区域时出错.

Dar*_*rov 5

以下结构应适用于某个Admin区域,例如:

~/Areas/Admin/Views/Shared/_AdminLayout.cshtml:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    @RenderBody()
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

~/Areas/Admin/Views/_ViewStart.cshtml:

@{
    Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

~/Areas/Admin/Views/Foo/Index.cshtml:

<h2>Index view of FooController in Admin area</h2>
Run Code Online (Sandbox Code Playgroud)