Asp.net猜控制器名称

时间:2016-04-25 14:38:41

标签: asp.net asp.net-mvc asp.net-mvc-routing

我使用的是asp.net核心,我的控制器名称是“ConsultasController”。

当指向localhost:5000\consultas时,错误表示没有此路径。

因此,如果我更改为localhost:5000\consultum则可行。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

以下是一些需要考虑检查的事项,如果没有您的路线细分以及您的控制器声明的样子,我们只会猜测可能是什么问题。

检查您的默认路由

只要您在应用程序中使用默认路由,ASP.NET MVC仍应使用Controller的名称来确定路由:

routes.MapRoute(
      name: "default",
      template: "{controller}/{action}",
      defaults: new { controller = "Home", action = "Index" });

您是否定义了其他自定义路线?或者您的默认路线是否指向错误的位置(即Consultum而不是Consultas)?

确保您的命名正确

如果您更改了控制器的名称,则需要确保更改了类ConsultasController的名称和文件名称(ConsultasController.cs),而不仅仅是一个或另一个。

任何Route属性?

此外,您是否为此Controller定义了可以覆盖现有默认路由的任何特定路由属性?您需要确保ConstultasController没有指向ConsultumController

[Route("Consultum")]
public class ConsultasController : Controller 
{
      /* Your code here */
}