Asp.net mvc 需要使用存储在其他文件夹中的razor视图

Asp.net mvc 需要使用存储在其他文件夹中的razor视图,asp.net-mvc,razor,Asp.net Mvc,Razor,为了访问非标准文件夹(MVC 5 VS 2013)中的razor视图,我(在本论坛中)找到了两种解决方案:在该文件夹中添加web配置或在视图顶部添加以下内容:“@inherits System.web.MVC.WebViewPage” 我尝试了这两种方法,效果都很好,但是视图是单独显示的,没有布局、菜单、导航栏等。。。 我想知道是否可以将视图显示为应用程序框架的一部分。必须在视图中指定布局路径。另一种选择是,默认情况下,视图文件夹中存在的是使用\u ViewStart.cshtml文件来设置布局

为了访问非标准文件夹(MVC 5 VS 2013)中的razor视图,我(在本论坛中)找到了两种解决方案:在该文件夹中添加web配置或在视图顶部添加以下内容:“@inherits System.web.MVC.WebViewPage” 我尝试了这两种方法,效果都很好,但是视图是单独显示的,没有布局、菜单、导航栏等。。。
我想知道是否可以将视图显示为应用程序框架的一部分。

必须在视图中指定布局路径。另一种选择是,默认情况下,
视图
文件夹中存在的是使用
\u ViewStart.cshtml
文件来设置布局,除非另有说明,否则该文件夹或嵌套文件夹中的任何视图都将使用该布局

那么,最简单的解决方案就是在视图中指定布局:

@{
    Layout = "~/path/to/_Layout.cshtml";
}
或者,您可以在“其他视图”文件夹中创建
\u ViewStart.cshtml
,并在其中添加上述代码。虽然不确定这是否适用于非标准视图文件夹,但欢迎您尝试。

我选择了“最简单的解决方案”,尽管它马上就起作用了,我完全赞成干式(不要重复),事实上,这就是为什么我需要一个不同的文件夹,可以根据不同客户的要求放置自定义视图