我做了分页系统。一切都好。 点击第2页后,所有主页链接都在变化。
@Html.ActionLink("Home page", "Index", "Home") //This is standard routing without values.
我添加了分页链接到页面末尾。
@Html.ActionLink("2", "Index", "Home", New With {.id = 2}, Nothing) //This works good too.
我的问题是当我点击第二页或更多页面时(例如:www.site.com/Home/Index/2)我的所有主页链接转换为
<a href="/Home/Index/2">Home page</a>
同样如此。
我怎么解决这个问题?
答案 0 :(得分:3)
当您点击第2页时,{.id = 2}
将成为您的RouteData的一部分。因为您的路由可能如下所示:(在Gloabal.asax中)
routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} _
)
ASP.NET MVC将使用此路由生成链接。所以它将包括Id = 2.要解决此问题,您需要在不需要时明确覆盖它:
@Html.ActionLink("Home page", "Index", "Home", New With {.id = ""}, Nothing)