2016-04-25 122 views
-2

我使用asp.net核心,我的控制器名稱是「ConsultasController」。Asp.net猜控制器名稱

指向localhost:5000\consultas時,出現錯誤提示沒有此路線。

因此,如果我更改爲localhost:5000\consultum它的作品。

爲什麼會發生這種情況?

+6

我們需要知道你的路由配置方式和什麼'RouteAttribute's你使用。 – vcsjones

+0

你開始閱讀的時間https://msdn.microsoft.com/en-us/library/cc668201(v=vs.100).aspx –

+0

我沒有做任何配置,除了默認。 – Beetlejuice

回答

1

這裏有幾件事情需要考慮檢查,因爲沒有細分路線和你的控制器聲明是什麼樣子,我們只是猜測可能是什麼問題。

檢查您的默認路由

只要您使用的應用程序中的缺省路由,ASP.NET MVC還是應該使用控制器的名稱來確定路線:

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

您是否定義了其他自定義路線?或者是您的默認路線指向錯誤的位置(即Consultum而不是Consultas)?

確保您的命名是正確的

如果你改變了你的控制器的名稱,你要確保你所改變類​​雙方的名稱和文件名(ConsultasController.cs)和不只是一個或另一個。

任何Route屬性?

此外,您是否有任何爲此控制器定義的可能覆蓋現有默認路由的特定路由屬性?你要確保你的ConstultasController沒有指向ConsultumController

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