MVC4のルートパラメーターはRouteConfig.csで設定するっぽい。
タイトル通りです。
AppStart/RouteConfig.csにルートパラメーターの設定が記述されています。
デフォルトだとcontroller, action, idが取得できるようになっています。
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 } ); } }
コントローラーでこれらの名前を指定するとURLのパラメーターが取れるわけですね。
public ActionResult Post (string controller, string action, int id) { // do something }
サブアクション等を追加したい場合は以下のようにいじれば良さそうです。
routes.MapRoute( name: "Default", url: "{controller}/{action}/{sub_action}/{id}" defaults: new { controller = "Home", action = "Index", sub_action = UrlParameter.Optional, id = UrlParameter.Optional} )
楽ちんですね:)