【发布时间】:2015-07-09 02:08:50
【问题描述】:
我收到此错误消息,我看到的任何建议似乎都不适用;即所有视图、控制器和模型都在正确的文件夹中。
更多细节: 我有一个主视图,它显示了一个类似于流程图的图形界面,用于与应用程序交互。用户选择“打开研究”符号,然后我重定向到另一个视图,该视图允许用户选择要使用的研究。
OpenStudyController 代码检索选定的研究,然后重定向回主视图:
public ActionResult SelectStudy( Guid? id )
{
// code elided for clarity
return RedirectToAction( "ActivateStudy", "Home" );
}
HomeController 有一个名为 ActivateStudy(...) 的方法,它会在适当的环境中调用:
public ActionResult ActivateStudy()
{
// code elided for clarity
return View();
}
正如我所说,所有视图、控制器和模型都在正确的文件夹中。
执行ActivateStudy()中的“return View()”代码时,出现错误信息:
“/”应用程序中的服务器错误。
未找到视图“ActivateStudy”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置: ~/Views/Home/ActivateStudy.aspx ~/Views/Home/ActivateStudy.ascx ~/Views/Shared/ActivateStudy.aspx ~/Views/Shared/ActivateStudy.ascx ~/Views/Home/ActivateStudy.cshtml ~/Views/Home/ActivateStudy.vbhtml ~/Views/Shared/ActivateStudy.cshtml ~/Views/Shared/ActivateStudy.vbhtml
我错过了什么? RedirectToAction(...) 中的一些附加参数? RouteConfig 中的一些新条目?
【问题讨论】:
-
您是在应用程序中使用区域,还是所有控制器和视图都在顶级 Controllers & Views 文件夹中?通常,出现该错误时,您会获得它寻找视图的所有位置的列表。您能否用该列表更新您的问题,因为有时这会提供线索?
-
按要求添加了搜索位置。对不起,笨拙的格式。我对 ASP.NET MVC 比较陌生,所以我不确定这些领域。有问题的控制器都在项目的 Controllers 文件夹下(模型也是如此)。每个视图都有其单独的文件夹,位于项目视图文件夹下。如果我能知道在哪里寻找或尝试什么......
-
查看您的 ActivateStudy 视图,看看是否有以
Layout =开头的行。如果是这样,分配给Layout的值是多少?如果该行不存在,请检查您的_ViewStart.cshtml是否有同一行。 -
Layout = "~Views/Shared/_Layout.cshtml";它在 _ViewStart.cshtml
标签: asp.net-mvc-5