[ASP.NET MVCメモ]Route

1364 ワード

公式サイトの説明と例を見て、まだはっきり言えないものがあると思います.自分で研究しなければならない.
Routeはrequest url Mappingをaction methodに使用します.
 
Mappingの方式はroute tableでの設定で行います.route talbeの構成についてはglobal.asaで行います.次はデフォルトのrouteです.
 
routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

urlは、セカンダリrouteに対応するURLのパターンを定義します.defaultsパラメータはurlモードの一部が欠落している場合に使用されるデフォルト値を示します.
このroute処理はhttp://XXXXX/atricle/index/123のurl. 
 
urlモードのコントロール、action部分は省略できます.例えば次のroute.この場合.コントローラとactionはデフォルト値をとります
routes.MapRoute(
                name: "Auth",
                url: "{orgCode}",
                defaults: new { controller = "Auth", action = "Index" }
            );

 
urlモードのパラメータ名はaction methodのパラメータ名と一致する必要があります.
例えばURLモードはurl:「{controller}/{action}/{id}」
action methodのパラメータはidでなければならない.
 
urlモードの複数のパラメータの設定.
Actionmethodに2つのパラメータがある場合.URLモードでurl:「{controller}/{action}/{Parameter 1}/{Parameter 2}」を設定できます.Parameter 1とparameter 2はaction methodのパラメータ名です
 
route tableではrouteの順序と重要です.
asp.Netは、現在のrequest urlに一致する最初のrouteを見つけた後、mappingの後のroute設定はありません.