在ASP.NET MVC中匹配跨多个“/”的URL参数的最佳方法是什么?
例如网址:http://example.com/controller/action/p1/p2/p3/p4
我想只将一个参数传递给action方法(上面是“p1 / p2 / p3 / p4”)。这里,参数可以具有任意数量的子项(p1 /.../ pn)。
实现这一目标的最佳方法是什么?有没有办法使用纯MVC路由实现这个?
答案 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