Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dealing ASP.net Routes with n slashes using regex

I need to use a URL like this:

http://mydomain.com/Box/Categ1/Categ2/Categ3/.../CategN/id1,id2,id3,...,idN

Then I tried to create a new route this way...

routes.MapRoute(
    "Box",
    "Box/{data}",
    new { controller = "Box", action = "Index"},
    new { data = @"([a-zA-Z0-9-,]+/?)+" }
);

But it just doesn't work. If I use any char instead of "/" (slashes) it works fine. Is it possible to use the slashes? I really would like see the URL like this.

like image 671
Wellington Avatar asked Oct 12 '09 19:10

Wellington


1 Answers

If you want to set the data variable to everything that comes after Box, just use the catch-all parameter.

routes.MapRoute(
    "Box",
    "Box/{*data}",
    new { controller = "Box", action = "Index"}
);
like image 181
womp Avatar answered Oct 23 '22 08:10

womp