У меня на сайте asp.net mvc 2 есть маршрут, который выглядит так
routes.MapRoute(
"media_display",
"Media/{mediaId}-{mediaName}",
new { controller = "Media", action = "Display" },
new { mediaId = @"\d+" }
);
Где mediaId - это идентификатор, а mediaName - это название носителя.
Пример
www.example.com / Медиа / 1-тест-медиа-лист
Если идентификатор равен 1, а имя - «список тестовых файлов», проблема в том, что я заменяю пробел «» на -, и это разрушает мой маршрут.
Я просто не могу понять, как сделать так, чтобы «mediaName» могло содержать -.
У меня также есть следующий рут, но решение должно быть таким же.
routes.MapRoute(
"media_display",
"Media/{mediaId}-{mediaName}/edit",
new { controller = "Media", action = "Edit" },
new { mediaId = @"\d+" }
);
Также возможно ли создать маршрут, который будет охватывать все следующие 3 теста, сейчас у меня есть только 3 различных маршрута, но я бы хотел сократить это.
www.example.com / Медиа / 1-тест-медиа-лист
www.example.com / Медиа / 1
www.example.com / Медиа / 1