matching URL parameter spanning multiple “/” in ASP.NET MVC

核能气质少年 提交于 2019-12-02 07:58:52

问题


What is the best way to match URL parameter spanning multiple "/" in ASP.NET MVC ?

Eg URL: http://example.com/controller/action/p1/p2/p3/p4

I want to pass just one parameter to the action method (above, it is "p1/p2/p3/p4"). Here, the parameter may have arbitrary number of subitems ( p1/.../pn ).

What is the best way to accomplish this? Any way to get this implemented using pure MVC routing?


回答1:


If i understand it clearly you want to make it this way

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
    }
}

Or you can do it with regex, you may take a look this link



来源:https://stackoverflow.com/questions/2300763/matching-url-parameter-spanning-multiple-in-asp-net-mvc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!