假设我有一个像
这样的动作public ActionResult TheAction(string path) { ... }
我想做的是让像www.myapp.com/controller/TheAction/path/to/content这样的请求将路径的“path / to / content”部分作为“path”参数传递给动作。
我的猜测是,我必须摆弄一个自定义路线/请求处理程序,但在戴上复合器的手套之前,我想看看你们是否有任何其他建议。
答案 0 :(得分:6)
只需在路线注册中注册/{controller}/{action}/{*path}
。
这使得最后一个参数成为一个全能,所以它将包含路径的其余部分,就像你想要的那样。
所以它看起来像:
routes.MapRoute(
"HasCatchAllPath",
"{controller}/{action}/{*path}",
new { controller = "Home", action = "Index" }
);