【问题标题】:Alter generated link of PagedList更改 PagedList 的生成链接
【发布时间】:2013-10-26 16:05:07
【问题描述】:

我正在使用 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 }) )

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

【问题讨论】:

  • 投反对票是怎么回事?我在这里错过了什么吗?
  • 反对者可能认为您应该能够从研究中回答这个问题。我同意他们的观点,但认为没有必要投反对票。他们本可以用 1 块石头杀死 2 只鸟,方法是指出您需要一条路线并做出明智的 @ss 评论 (为您节省 50 代表)
  • 在看到答案并弄清楚解决这个问题有多简单之后,我明白了。但是,由于我只是学习一点 MVC,我真的不知道这个组件和路由设置是如何协同工作的。所以,我仍然很乐意为这些知识换几分。
  • 您显然得到了 2 个赞成票和 3 个反对票。结合接受的答案,您实际上获得了 6 个代表点数。当然,这不包括赏金。

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


【解决方案1】:

看来这只是一个基本的路线图。

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

【讨论】:

    【解决方案2】:

    除了cem的回答:你可能还想添加sortOrdercurrentFilter参数:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      相关资源
      最近更新 更多