MvcPaging
MvcPaging copied to clipboard
AddRouteValue and RouteValues conflict
I am using MvcPaging 2.1.0 downloaded by nuget
@Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount,
new AjaxOptions
{
UpdateTargetId = "PreOrderListContainer",
OnSuccess = "indexAjaxCallback"
}).Options(
o => o.Action("IndexAjax")
.AddRouteValue("sortOrder", ViewBag.sortOrder)
.RouteValues(ViewBag.RouteValueDict)
.DisplayTemplate("Bootstrap3Pagination")
.MaxNrOfPages(10)
.AlwaysAddFirstPageNumber()
)
The above pager will ignore the route value provided by AddRouteValue("sortOrder", ViewBag.sortOrder). i.e. the sortOrder will not be exists in the pager link generated.
I change Pager.Options lambda as below, i.e. use RouteValues before AddRouteValues.
o => o.Action("IndexAjax")
.RouteValues(ViewBag.RouteValueDict)
.AddRouteValue("sortOrder", ViewBag.sortOrder)
.DisplayTemplate("Bootstrap3Pagination")
.MaxNrOfPages(10)
.AlwaysAddFirstPageNumber()
Both of the route values provided by RouteValues and AddRouteValue will be exists in the pager link generated.