使用正则表达式处理带有n个斜杠的ASP.net路由

Wel*_*ton 5 regex asp.net-mvc routing

我需要使用这样的URL:

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

然后我尝试用这种方式创建一条新路线......

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

但它只是不起作用.如果我使用任何字符而不是"/"(斜杠),它工作正常.是否可以使用斜杠?我真的希望看到这样的URL.

wom*_*omp 11

如果要将数据变量设置为Box之后的所有内容,只需使用catch-all参数即可.

routes.MapRoute(
    "Box",
    "Box/{*data}",
    new { controller = "Box", action = "Index"}
);
Run Code Online (Sandbox Code Playgroud)