C# MVCをためしてみる③


C# MVCをためしてみる③

C# MVCのルーティング設定の確認

全4回でお送りする「C# MVCをためしてみる」の3回目です。
前回はコントローラとビューを作成してみましたが、なぜブラウザからのアクセスで表示できたのかというと、
あるURLに対してどのコントローラを呼び出すかがルーティングとして設定されているからです。
今回はルーティングの内容についてみていきます。

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 WebApplication1
{
    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 }
            );
        }
    }
}

RouteConfigクラスのRegisterRoutesメソッド内に、ルーティング設定を記述しています。
まず、「routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);」の記述ですが、
これは「静的コンテンツはルーティング処理しない」という意味になります。
この記述があると実際に指定パスに存在しているファイルについてはそのままHTTPレスポンスとして返します。

次の「routes.MapRoute~」の記述ですが、これはデフォルトのルーティング設定です。
「url」の項目で、リクエストのパスが「〇〇/△△/××」だった時に、
「〇〇」の部分がコントローラ名、
「△△」の部分がメソッド名、
「××」の部分はidという名前の引数として渡す、
という意味になります。
「defaults」の項目で、パス省略時の初期値を指定しています。

まとめ

今回はルーティングの確認を行いました。
次回はデプロイの方法について確認をしていきます。

  • このエントリーをはてなブックマークに追加

PAGE TOP