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

时间:2013-02-11 08:23:04

标签: asp.net-mvc-4 asp.net-mvc-areas

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

Layout = ~/Areas/BO/Shared/Views/_BOLayout.cshtml";

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

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

1 个答案:

答案 0 :(得分:5)

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

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

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

~/Areas/Admin/Views/_ViewStart.cshtml

@{
    Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}

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

<h2>Index view of FooController in Admin area</h2>