Работа с ASP.net Маршруты с n слешами с помощью регулярных выражений - PullRequest
5 голосов
/ 12 октября 2009

Мне нужно использовать такой 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-,]+/?)+" }
);

Но это просто не работает. Если я использую любой символ вместо "/" (косая черта), он работает нормально. Можно ли использовать косые черты? Мне бы очень хотелось, чтобы URL был таким.

1 Ответ

11 голосов
/ 12 октября 2009

Если вы хотите установить переменную данных для всего, что идет после Box, просто используйте параметр catch-all.

routes.MapRoute(
    "Box",
    "Box/{*data}",
    new { controller = "Box", action = "Index"}
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...