2013-02-11 86 views
1

我有一个MVC4网络应用程序,并创建了2个区域。我看不到如何为他们使用不同的布局。当我创建区域时,没有为它们生成共享文件夹, 我试图在名为BO的区域创建一个,并在那里复制_layout.cshtml文件,没有运气。复制的_viewstart.cshtml文件存在,
改名_layout.cshtml并改变了BO地区的_viewstart.cshtml布局呼叫MVC4如何为区域配置不同的布局和CSS

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

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

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

回答

4

下列结构应用于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> 
+0

谢谢Darin!从你的回答中我发现了2个错误;我有“Shared/Views /”而不是“Views/Shared /”,_viewstart.cshtml位于该区域的根目录。更正路径并将_viewstart.cshtml移动到该区域中的共享文件夹中,并且工作正常。谢谢。 – Richard 2013-02-11 08:42:44

相关问题