比方说,我有一个像MVC3路由:传递路线的一部分作为“路径”参数
public ActionResult TheAction(string path) { ... }
我想要做的是一个动作,有一个像www.myapp.com/controller的请求/ TheAction/path/to/content传递路径的“路径/到/内容”部分作为动作的“路径”参数。
我的猜测是,我不得不摆弄自定义路线/请求处理程序,但在戴上复杂手套之前,我想看看你们是否有任何其他建议。
比方说,我有一个像MVC3路由:传递路线的一部分作为“路径”参数
public ActionResult TheAction(string path) { ... }
我想要做的是一个动作,有一个像www.myapp.com/controller的请求/ TheAction/path/to/content传递路径的“路径/到/内容”部分作为动作的“路径”参数。
我的猜测是,我不得不摆弄自定义路线/请求处理程序,但在戴上复杂手套之前,我想看看你们是否有任何其他建议。
只需在您的路线注册中注册/{controller}/{action}/{*path}
。
这使最后一个参数成为全部,因此它将包含路径的其余部分,就像您想要的一样。
所以看起来像:
routes.MapRoute(
"HasCatchAllPath",
"{controller}/{action}/{*path}",
new { controller = "Home", action = "Index" }
);
感谢堆,我需要的。 – JoseMarmolejos 2011-03-11 16:27:10
+1为“Complicator的手套”的声明 - 那真棒 – CmdrTallen 2011-03-12 16:16:59