我想在基于ASP.NET MVC的网站上有一页,其中一页允许通过用户名而不是ID进行选择。我本来以为的路径必须是这样的:ASP.NET路由传递字符串值
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 = "" }
);
,但我想这将导致更多的问题时,应采用两个失误是哪条路线。
虽然我已经研究过如何解决我的特定问题,但是关于路线如何映射的解释还是非常有帮助的,无论如何我都会将其标记为答案。 – nathanchere