Url.Action显示页面没有在网址

问题描述:

尝试这样Url.Action显示页面没有在网址

Url.Action("Index", "Home", new { page = 5 }) 

是给我的网址像

/Home/Index?page=5 

如何获得这样

/Home/Index/5 

一个URL通过定义路线:

routes.MapRoute(
    "PagedRoute", 
    "{controller}/{action}/{page}", 
    new { controller = "Home", action = "Index", page = UrlParameter.Optional } 
); 

请注意默认路由(使用id的路由),因为它与此类似。您可能需要将此自定义路线放在默认路线之前,或者移除默认路线,因为在这些情况下很少碰到它。

我建议你通过Routing tutorials去深入了解他们的工作方式。