0

私はASP.Net MVCの初心者です。ASP.Net MVC 5を学ぼうとしています。 メソッドを呼び出すことによって、RouteConfig.csにデフォルトコントローラとデフォルトアクションを指定することが可能であることはわかっています。しかし、デフォルトコントローラー&を設定することができれば、RouteConfig.csを使わずにRoute属性を使ってアクションを実行することができますか?ASP.Net MVC 5のルート属性を使用したデフォルトコントローラとアクションの設定

編集:私はRouteConfig.csRegisterRoutes方法でコードの次の行を追加し、他のラインを除去することにより、これを行うことが可能である、ことを見出しました。この後

routes.MapMvcAttributeRoutes(); 

、私たちはデフォルトを設定したいコントローラのアクションでは、単にアクション上記[Route("~/")]属性を追加します。これはそれを行う必要があります。

フォーム認証の場合、ログインビューが表示されます。従来のルーティングを使用していない場合、デフォルトのコントローラ(ホームになる)の属性ベースルーティングがログインにリダイレクトされないため、ログインビューへのリダイレクトは失敗します。 [Route("~/")]アトリビュートをLoginアクションに追加すると、「複数のコントローラタイプがURLに一致するものが見つかりました。複数のコントローラのアトリビュートルートが要求されたURLと一致した場合に発生します。

答えて

0

従来のルーティングとアトリビュートルートは連携できます。 RouteConfig.csの他の行を削​​除せず、他の行の上にroutes.MapMvcAttributeRoutes();を置くだけです。ルーティングシステムは、要求されたURLの属性経路と一致するものを見つけようとすると、従来のルーティングシステムを探しますリクエストされたURLに一致するものを見つける

関連する問題