Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net猜测控制器名称_Asp.net_Asp.net Mvc_Asp.net Mvc Routing - Fatal编程技术网

Asp.net猜测控制器名称

Asp.net猜测控制器名称,asp.net,asp.net-mvc,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Asp.net Mvc Routing,我正在使用asp.net内核,我的控制器名称是“ConsultasController” 当指向localhost:5000\consultas时,会出现一个错误,表明没有此路由 因此,如果我改为localhost:5000\consultum,它会工作 为什么会发生这样的事情? 这里有一些要考虑的事情要检查,没有路由的崩溃和控制器声明的样子,我们只是猜测可能是什么问题。 检查您的默认路由 只要您在应用程序中使用默认路由,ASP.NET MVC仍应使用控制器的名称来确定路由: routes.Ma

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

当指向
localhost:5000\consultas
时,会出现一个错误,表明没有此路由

因此,如果我改为
localhost:5000\consultum
,它会工作


为什么会发生这样的事情?

这里有一些要考虑的事情要检查,没有路由的崩溃和控制器声明的样子,我们只是猜测可能是什么问题。

检查您的默认路由

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

routes.MapRoute(
      name: "default",
      template: "{controller}/{action}",
      defaults: new { controller = "Home", action = "Index" });
您是否定义了其他自定义路线?或者您的默认路线指向错误的位置(即
Consultum
而不是
Consultas

确保您的命名正确

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

任何
路线
属性?

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

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

我们需要知道您的路线是如何配置的,以及您使用了什么
RouteAttribute
s。您开始阅读的时间到了。除了默认配置之外,我没有进行任何配置。