匹配URL参数跨ASP.NET MVC中的多个“/”

时间:2010-02-20 02:14:20

标签: asp.net-mvc routing

在ASP.NET MVC中匹配跨多个“/”的URL参数的最佳方法是什么?

例如网址:http://example.com/controller/action/p1/p2/p3/p4

我想只将一个参数传递给action方法(上面是“p1 / p2 / p3 / p4”)。这里,参数可以具有任意数量的子项(p1 /.../ pn)。

实现这一目标的最佳方法是什么?有没有办法使用纯MVC路由实现这个?

1 个答案:

答案 0 :(得分:2)

如果我清楚地理解你想要这样做

routes.MapRoute(null, "{controller}/{action}/{*p}", new { controller = "Home", action = "Index" });

public class HomeController : Controller
{
    public ActionResult Index(string p)
    {
        string[] parameters = p.Split('/');
        //Whatever
    }
}

或者您可以使用正则表达式执行此操作,您可以查看此link