logo

ASP.NET MVC ルーティング

MVC では、ルーティングは、ブラウザーの要求をコントローラーのアクションにマッピングし、応答を返すプロセスです。各 MVC アプリケーションには、デフォルトのデフォルト ルーティングがあります。 ホームコントローラー 。新しく作成したコントローラーにカスタム ルーティングを設定できます。

RouteConfig.cs ファイルは、アプリケーションのルーティングを設定するために使用されます。最初は次のコードが含まれています。

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Default', url: '{controller}/{action}/{id}', defaults: new { controller = 'Home', action = 'Index', id = UrlParameter.Optional } ); } } } 

この設定ファイルにより、ホームコントローラーのインデックスアクションがデフォルトとして扱われます。初めてアプリケーションを実行すると、次の出力が生成されます。

ASP ルーティング 1

アドレスバーを見ると、 ローカルホスト:52174 。 MVC ルーターがコントローラーをマッピングするため、コントローラーは存在せず、アクションが指定されます。 RouteConfig.cs。

アドレスバーにコントローラー名とアクション名を明示的に入力すると、同じアクションにリダイレクトされます。の ローカルホスト:52174/ホーム/インデックス 同じ出力がブラウザに生成されます。

ASP ルーティング 2

次に、新しいコントローラーを作成し、ルート ファイルに設定しましょう。を右クリックして、 コントローラ フォルダーを選択し、追加を選択してからコントローラーを選択します。ウィンドウがポップアップ表示されます。スクリーンショットで行ったように、空のコントローラーを選択します。

ASP ルーティング 3

このコントローラーにはソース コードが含まれているため、これを次のコードでオーバーライドします。

// StudentsController.cs

 using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } } 

このコントローラーをルート ファイルで設定するために、いくつかの変更を加えました。 RouteConfig.cs ファイル。コードを以下に示します。

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Students', url: '{controller}/{action}/{id}', defaults: new { controller = 'Students', action = 'Index', id = UrlParameter.Optional } ); } } } 

このアプリケーションは同じ出力を生成します ローカルホスト:52174 そして ローカルホスト:52174/学生/インデックス

MVC フレームワークの Route モジュールがブラウザの URL をプロジェクトの RouteConfig ファイルにマッピングするためです。

出力:

コマンドチャウン

ASP ルーティング 4

これは、コントローラー名とアクション名を明示的に入力した場合でも、上記と同じです。

ASP ルーティング 5