4

我将如何创建一个接受斜杠而不将其视为新参数的 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} 拾取所有内容,即使 url 包含斜杠。

4

1 回答 1

8

您可以使用包罗万象的路线:

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

进而:

public ActionResult Index(string path)
{
    ...
}
于 2011-07-02T14:50:07.553 回答