如果mvc中只有1页,如何避免分页

时间:2014-04-02 06:19:48

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

我正在使用分页列出来自数据库的Cadidates。我在一个页面中列出了12条记录。如果只有1页的详细信息要列出,我不希望显示分页。请帮帮我。以下是我的代码。 位指示:

[HttpGet]
    public ActionResult Index(int? page, int? filter)
    {
        ViewBag.statusName = db.CandidateStatuses.ToList();
        int pageSize = 12;
        int pageNumber = (page ?? 1);
        var candidates = new List<Candidate>();

        if (filter != null)
        {
            ViewBag.Filter = filter;
            candidates = db.Candidates.Where(m => m.CandidateStatusID == filter).OrderByDescending(m => m.CandidateID).ToList();
        }
        else
        {
            candidates = db.Candidates.OrderByDescending(m => m.CandidateID).ToList();
        }

        return View(candidates.ToPagedList(pageNumber, pageSize));
    }

查看:

Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

@Html.PagedListPager(Model, page => Url.Action("Index", new { page, filter = ViewBag.Filter }))

我在我的视图中仅显示了分页部分的代码。请帮助我。

4 个答案:

答案 0 :(得分:6)

我认为它应该有效:

@if(Model.PageCount > 1)
{
  Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
  @Html.PagedListPager(Model, page => Url.Action("Index", new { page, filter = ViewBag.Filter }))
}

答案 1 :(得分:3)

堆栈溢出,拒绝了我的编辑,并建议我将其添加为答案。

要修复整个部分,请添加&lt; p>在“Y页面X”周围标记。这样可以避免上面评论部分提到的“解析器错误”。

@{if(Model.PageCount > 1)
  {
  <p>Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount<p>
  @Html.PagedListPager(Model, page => Url.Action("Index", new { page, filter = ViewBag.Filter }))
  }
}

答案 2 :(得分:3)

刚发现这个 - 太糟糕了,没找到它。很多内置选项:

http://www.nudoq.org/#!/Packages/PagedList.Mvc/PagedList.Mvc/PagedListRenderOptions

,这里需要的是:

new PagedListRenderOptions{ Display = PagedListDisplayMode.IfNeeded }

http://www.nudoq.org/#!/Packages/PagedList.Mvc/PagedList.Mvc/PagedListRenderOptions/P/Display

答案 3 :(得分:2)

这解决了这个问题。

 @{
if(Model.PageCount > 1)
{
@Html.PagedListPager(Model, page => Url.Action("Index", new { page, filter = ViewBag.Filter }))
}
}
相关问题