2016-04-25 10 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" }); 

他のカスタムルートが定義されていますか?または、デフォルトルートが間違った場所を指しています(ConsultasではなくConsultum)。

あなたのネーミングは、あなたのコントローラの名前を変更した場合、あなたはクラス​​の名前とファイル(ConsultasController.cs)の名​​の両方を変更していることを確認したいと思うでしょう

正しいことを確認し、どちらか一方だけではありません。

任意Route属性?

また、既存のデフォルトルーティングを上書きする可能性があるこのコントローラ用に定義された特定のルート属性がありますか?あなたのConstultasControllerConsultumControllerを指していないことを確認することをお勧めします:

[Route("Consultum")] 
public class ConsultasController : Controller 
{ 
     /* Your code here */ 
} 
関連する問題