有没有办法将一组可变参数路由到MVC3控制器。
我正在努力获得匹配像
这样的网址的内容/myaction/foo
or
/myaction/foo/bar/widget/.../foo1/foo2/ - i.e. of unknown length.
此刻我正在伪装
public ActionResult myaction(string f1, string f2, string f3, string f4)
{
}
和路线
routes.MapRoute("brittleroute",
"myaction/{f1}/{f2}/{f3}/{f4}",
new { controller = "mycontroller", action = "myaction", f1 = UrlParameter.Optional, f2=UrlParameter.Optional, f3=UrlParameter.Optional, f4=UrlParameter.Optional }
);
但这非常脆弱。
答案 0 :(得分:1)
挖掘后和一些离线帮助...
public ActionResult myaction(string allsegments)
{
var urlsegments = allsegments.split('/');
//...
}
routes.MapRoute("betterroute",
"myaction/{*allsegments}",
new { controller = "mycontroller", action = "myaction"}
);