我有一个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'继承。导航到该区域时出错。
答案 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>