2017-12-08 2 views
0

最新のASP.NET MVC CORE 2の既定のテンプレートで、以下のようにコントローラとアクションを変更して既定のアクションを変更しようとしています。私はデフォルトでログインページを見ることを期待していますが、私は404 HTTPエラーが発生しています。私が間違っていることは何ですか?ASP.NET Core 2の既定のアクションを変更できない

この問題は、デフォルトのASP.NET CORE 2 MVCプロジェクトで確認できます。

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "default", 
     template: "{controller=Account}/{action=Login}/{id?}"); 
    }); 
} 
+0

質問にコントローラとターゲットアクションが含まれています。現在の状態の質問は、不完全で不明確であり、何が尋ねられているのかを明確にするにはあまりにも多くの質問が必要になります。 [質問]を読んで問題を再現するのに使うことができる[mcve]を入力し、何が尋ねられているのかをよく理解できるようにします。 – Nkosi

+0

@NikosiこれをデフォルトのASP.NET Coreテンプレートで試しましたか?それはあなたのために正常に動作しますか? – Freshblood

答えて

3

あなたはAccountControllerクラスを見れば、あなたがそうのように、それはRoute属性で飾られています表示されます:あなたはHomeControllerクラスを見れば、あなたが表示されます、しかし

[Route("[controller]/[action]")] 
public class AccountController : Controller 

それは、そのような属性が飾らないであること:

public class HomeController : Controller 

AccountControllerので、 Attribute routingを使用している場合は、Conventional routingテンプレートを使用して取得されません。 docsは、次のように説明しています。

属性ルートを定義するアクションは、従来のルートでは到達できず、その逆もありません。

+0

蛇が説明に打ちのめされましたが、もしあなたがそれをやりたければ、[Route([controller]/[action] ")]'行をAccountControllerから削除してください – Tim

関連する問題