我正在使用此自定义路由在Home Controller的索引方法中启用分页:
routes.MapRoute( _
"HomePage", _
"Home/Index/{page_num}", _
New With {.controller = "Home", .action = "Index", .page_num = ""} _
)
但是当我导航到第2页的任何页面时,actionlinks将页码附加到网址:
Html.ActionLink("Home", "Index", "Home")
将呈现_http:// localhost / Home / Index / 2而不是_http:// localhost / Home / Index
但我注意到没有参数的动作方法正确渲染: _http://本地主机/首页/
答案 0 :(得分:0)
Html.ActionLink使用以前路由值字典中的page_num参数,除非您将某些参数更改为page_num。
如果你有如下路线:
routes.MapRoute( _
"HomePage", _
"{controller}/{action}/{page_num}", _
New With {.controller = "Home", .action = "Index", .page_num = ""} _
)
Html.ActionLink(“Home”,“about”)将清除page_num变量,您将获得类似/ home / about的url而不是/ home / about / 2。 看看这个相关的Question。也许它会有所帮助。