MVC3 MapRoute,带斜杠的参数

时间:2011-07-02 14:48:14

标签: asp.net-mvc-3 url maproute

我如何创建一个接受斜杠而不考虑新参数的MapRoute? 如果网址是

http://localhost/root/p1/default.aspx

我想在localhost(root / p1 / default.aspx)之后获取一个参数。通常它需要三个参数,因为有两个斜杠,maproute用斜杠分隔参数。 所以,如果路线看起来像

routes.MapRoute(
   "URLMapRoute",
   "{path}",
   new { controller = "Home", action = "Index", path = "default.aspx" }
);

然后{path}选择所有内容,即使网址包含斜杠。

1 个答案:

答案 0 :(得分:8)

你可以使用一条捕获路线:

routes.MapRoute(
    "URLMapRoute",
    "{*path}",
    new { controller = "Home", action = "Index", path = "default.aspx" }
);

然后:

public ActionResult Index(string path)
{
    ...
}