我第一次在MVC遇到过。 我在区域“管理”和控制器在那里“新闻”与行动“列表”。
在调试中我得到了
的断点public ActionResult List()
{
return View(); // Breakpoint
}
我到达那里
但引擎找不到查看“列表”
我收到了错误:
The view 'List' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/News/List.cshtml
~/Views/News/List.vbhtml
~/Views/Shared/List.cshtml
~/Views/Shared/List.vbhtml
查看位置区域/管理/新闻/ List.cshtml中的退出
为什么Razor不会将区域名称粘贴到视图视图位置?
更新
我找到了解决方案: ASP.NET MVC Default routes accessible via area routes
Route route = Routes.MapRoute(name, url, defaults, constraints, namespaces);
route.DataTokens["area"] = AreaName;
答案 0 :(得分:0)
当您在控制器中调用View()
方法时,ASP.NET MVC希望您具有相应操作的匹配视图。所以基本上告诉你,你必须在项目的List.cshtml
或List.vbhtml
文件夹中有一个名为Views/Shared
(或Views/News/
)的文件。 (您的控制器名为NewsController
,按照惯例,搜索视图的名称您可以转到http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3查看其工作原理。
区域是一个MVC功能,用于组织应用程序上的代码,但您可能缺少一些配置。 Read this了解更多信息。