我的MVC5控制器如何找到视图?

时间:2016-03-07 13:59:18

标签: asp.net-mvc-5

我正在查看项目中的代码,并在代码中找到了一个没有视图的Action方法。 LICENSING & IN-APP BILLING没有匹配的视图,但是当我运行代码时,会出现列出相应记录的视图。

我很高兴我们没有收到错误。但我很好奇如何弄清楚它正在使用的是什么。

1 个答案:

答案 0 :(得分:0)

按照惯例,Razor按顺序搜索以下路径中的视图:

~/Areas/{AreaName}/Views/{ControllerName}/{ActionName}.cshtml
~/Areas/{AreaName}/Views/Shared/{ActionName}.cshtml
~/Views/{ControllerName}/{ActionName}.cshtml
~/Views/Shared/{ActionName}.cshtml

显然,如果您不使用区域,前两个不适用。此外,可以通过将字符串传递给return View调用来明确给出视图:

return View("Foo");

在所有上述位置查找视图名称Foo.cshtml,而不是操作名称。