将Forms应用程序转换为添加Razor(v4)MVC时,不会在Shared文件夹中查找布局。

9 浏览
0 Comments

将Forms应用程序转换为添加Razor(v4)MVC时,不会在Shared文件夹中查找布局。

我正在将一个基于Forms的应用程序转换为添加一些MVC 4视图页面。我已经能够使页面正常工作,但是当我创建一个视图时,它从不查找我的Views/Shared文件夹,并要求我将共享页面放在同一个视图文件夹中,而不是默认为Shared布局(如果未指定)。MVC4中的路由信息优先级存储在哪里,以便我配置它首先查找共享文件夹?在一个稍微相关的问题中,是否有任何办法让右键单击Controllers文件夹时显示“添加控制器”向导选项,并启用脚手架视图的向导?(示例中的添加向导见下图)

更新:在一些令人沮丧的时间后,我已经将文件添加到错误消息所需的路径中,但仍然收到错误消息。似乎路由正在工作,因为当我返回一个字符串时,路由会找到并显示它。问题似乎出现在我使用ActionResult时,由于某种原因找不到“关联”的文件。

0
0 Comments

问题的出现原因:Forms应用程序转换为添加Razor (v4) MVC后,MVC不会在Shared文件夹中查找布局文件。

解决方法:在Views文件夹中的_ViewStart.cshtml文件中,添加以下代码:

@{

Layout = "~/Views/Shared/_Layout.cshtml";

}

这段代码告诉MVC在哪里查找布局文件。

参考链接:[stackoverflow.com/questions/9300410/…](http://stackoverflow.com/questions/9300410)

0