如何解决 ASP.NET Core MVC 区域中的“未找到视图”错误?

Nim*_*wji 2 c# asp.net-core-mvc asp.net-core asp.net-core-routing asp.net-core-3.1

我不知道为什么每次在 ASP.NET Core MVC 3.1 中都会收到此错误。我有一个视图,它就在它的位置上。我只在某些区域收到此错误。

 InvalidOperationException: The view 'Dashboard' was not found. The following locations were searched:
    /Areas/Admin/Views/Home/Dashboard.cshtml
    /Areas/Admin/Views/Shared/Dashboard.cshtml
    /Views/Shared/Dashboard.cshtml
Run Code Online (Sandbox Code Playgroud)

Jer*_*ney 5

十有八九,视图上的此错误是因为您忘记将[Area("Admin")]属性放在区域控制器的顶部。

\n
\n

注意:正如您在回答中指出的,这不应包含后缀Area

\n
\n

虽然按照惯例,您的区域视图是在 中搜索的/Areas/{Area}/Views/,但\xe2\x80\x99s 没有努力隐式确定控制器适用于某个区域。换句话说,.NET 完全依赖于该[Area()]属性,与您的控制器是否位于例如/Areas/{Area}/Controllers/. 出于组织目的,您\xe2\x80\x99 可能会将它们存储在那里,但 .NET 并不\xe2\x80\x99 关心任何一种方式。

\n

  • 感谢您的帮助 (2认同)