2

我第一次在 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

查看位置 Areas/Administation/News/List.cshtml 中的出口

为什么 Razor 不将区域名称粘贴到视图位置?

更新:

我找到了解决方案: ASP.NET MVC 默认路由可通过区域路由访问

Route route = Routes.MapRoute(name, url, defaults, constraints, namespaces);
route.DataTokens["area"] = AreaName;
4

1 回答 1

0

View()当您在控制器中调用方法时,ASP.NET MVC 期望您有相应操作的匹配视图。所以基本上它告诉你你必须在你的 project的or文件夹中有一个名为List.cshtml(or List.vbhtml) 的文件。(您的控制器被调用,按照约定,视图在名称上搜索您可以转到http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet -mvc-3看看它是如何工作的。Views/SharedViews/News/NewsController

区域是一种 MVC 功能,用于组织应用程序上的代码,但您可能缺少对它们的一些配置。阅读此内容以获取更多信息。

于 2012-11-02T16:17:32.120 回答