【问题标题】:MVC PagedList first page with no querystringMVC PagedList 第一页没有查询字符串
【发布时间】:2015-06-17 13:57:04
【问题描述】:

我正在使用 TroyGoode MVC PagedList https://github.com/TroyGoode/PagedList 工作得很好,除了我在第一页上有重复的内容

@Html.PagedListPager((IPagedList)ViewData.Model.EnumerableAds, page => Url.Action("MyPage", "Home", new { page }))

这给了我 HTML 输出:

<div class="pagination-container">
<ul class="pagination">
<li class="PagedList-skipToPrevious"><a href="/home/mypage?page=1" rel="prev">«</a></li>
<li><a href="/home/mypage?page=1">1</a></li>
<li class="active"><a>2</a></li>
<li><a href="/home/mypage?page=3">3</a></li>
<li class="PagedList-skipToNext"><a href="/home/mypage?page=3" rel="next">»</a></li>
</ul>
</div>

我要换:

<li class="PagedList-skipToPrevious"><a href="/home/mypage?page=1" rel="prev">«</a></li>
<li><a href="/home/mypage?page=1">1</a></li>

通过

<li class="PagedList-skipToPrevious"><a href="/home/mypage" rel="prev">«</a></li>
<li><a href="/home/mypage">1</a></li>

有可能吗?

【问题讨论】:

  • 您提供的链接中有一个示例显示了如何完成此操作。只需将页面参数设为可为空并在您的代码中默认即可。

标签: c# asp.net-mvc pagedlist


【解决方案1】:

就像@Br4d 建议的那样,这里是完成这个的代码

public ActionResult MyPage(int? page=1)
{
     your code here
}

现在您可以为第一页发送一个空值,它将默认为第 1 页。

【讨论】:

  • 这不是问题,
    我要替换:
  • 1
  • 的 href="/home/mypage?page=1">1
  • 如果您使用我提供的代码,您将能够做到。你试过了吗?
  • 没有错误但仍然有:
    我要替换:
  • 1
  • 的 href="/home/mypage?page=1">1
  • 我希望在视图中使用 /home/mypage 而不是 /home/mypage?page1
  • 使用上面的例子来实现@Yanga
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签