更改生成的PagedList链接

时间:2013-10-17 23:29:35

标签: c# asp.net-mvc pagination pagedlist

我正在使用TroyGoode制作的PagedList:https://github.com/TroyGoode/PagedList/
但是我想让它渲染出比我现在更多的输出。

默认输出为: www.mypage.com/mytopic?page=3

但我想要制作的是: www.mypage.com/mytopic/3 /

我目前使用的代码取自以下示例: http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application

@Html.PagedListPager( Model, page => Url.Action("Index", new { page, sortOrder = ViewBag.CurrentSort, currentFilter=ViewBag.CurrentFilter }) )

有谁知道我如何让这个组件为我的Url添加另一种形式的分页?

2 个答案:

答案 0 :(得分:4)

除了cem的答案之外:您可能还想添加sortOrdercurrentFilter参数:

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

答案 1 :(得分:1)

这似乎只是一个基本的路线映射。

routes.MapRoute(
    "mytopic",
    "mytopic/{page}",
    new { controller = "Home", action = "Index", page = 1 }
);