1

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

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

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

PS。上面(复制了 _viewstart.cshtml 文件)也破坏了事情;我得到:类型“ASP._Page_Areas_BO__ViewStart_cshtml”不继承自“System.Web.WebPages.StartPage”。导航到该区域时出错。

4

1 回答 1

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>
于 2013-02-11T08:31:30.007 回答