MVC4与可选的参数计数匹配

时间:2013-06-20 05:06:01

标签: c# asp.net-mvc asp.net-mvc-4

我应该如何注册默认路由以匹配可选的参数计数。像

http://localhost:80/controler/action/value1/5

public string MyAction(string param1, int param2) {
   //param1 == value1
   //param2 == 5
}

1 个答案:

答案 0 :(得分:2)

如果您可以在默认路线中使用UrlParameter.Optional指定许多额外参数,则可以执行以下操作:

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{param1}/{param2}",
            defaults: new { controller = "home", action = "Index" , 
                param1 = UrlParameter.Optional, param2 = UrlParameter.Optional, }
        );

旁注:我会尽量避免这种过于通用的路线,而是指定更多有针对性的路线。