Я пытаюсь создать страницу на веб-сайте на основе ASP.NET MVC, где одна страница позволяет выбирать по имени пользователя, а не по идентификатору. Я бы подумал, что маршрут должен быть примерно таким:
routes.MapRoute(
"CustomerView", "Customer/Details/{username}",
new { username = "" }
);
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "0" }
);
но всякий раз, когда я использую HTML.Actionlink, я получаю http://mysite.com/Customer/Details?username=valuehere. Я рассматривал общий маршрут, например:
routes.MapRoute(
"CustomerView", "Customer/Details/{username}",
new { controller="Customer", action = "Details", username = "" }
);
но я полагаю, что это вызовет больше проблем, если будет ошибаться, какой из двух маршрутов следует применить.