【问题标题】:Asp.net guess controller name [closed]Asp.net 猜测控制器名称
【发布时间】:2016-04-25 14:38:40
【问题描述】:

我正在使用 asp.net core,我的控制器名称是“ConsultasController”。

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

因此,如果我更改为 localhost:5000\consultum,它会起作用。

为什么会这样?

【问题讨论】:

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


【解决方案1】:

这里有几件事需要考虑检查,因为没有分解您的路线和您的控制器声明是什么样的,我们只是猜测可能是什么问题。

检查您的默认路由

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

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

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

确保您的命名正确

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

任何Route 属性?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2010-10-18
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多