6

I am using paging to list down Cadidates from Database. I am listing out 12 record in a page. I dont want paging to be shown if have only 1 page with details to be listed. Pls Help me out. The following is my code. Contoller:

[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));
    }

View:

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

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

I Have Displayed only the code for paging part in my view. Pls help me out.

4

4 に答える 4

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 }))
}
于 2014-04-02T07:29:23.637 に答える
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

于 2016-11-18T20:38:07.697 に答える
3

スタック オーバーフロー、編集を拒否し、回答として追加することを提案しました。

セクション全体を修正するには、「Page X of Y」の周りに < p > タグを追加します。これにより、上記のコメント セクションで言及されている「パーサー エラー」が回避されます。

@{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 }))
  }
}
于 2015-02-09T14:50:02.627 に答える
2

これで問題は解決しました。

 @{
if(Model.PageCount > 1)
{
@Html.PagedListPager(Model, page => Url.Action("Index", new { page, filter = ViewBag.Filter }))
}
}
于 2014-04-04T05:20:18.380 に答える