PagedList 사용하기
아래, 완성 이미지.
전제
준비
NuGet에서 PagedList.Mvc를 설치하십시오.
구현
이번에는 Index의 List 표시에 Pager를 넣고 싶습니다.
표준으로 생성된 Index 액션을 아래와 같이 변경합니다.
컨트롤러
+using PagedList;
(省略)
// GET: Members
-public ActionResult Index()
-{
- return View(db.Members.ToList());
-}
+public ActionResult Index(int? page)
{
+ int pageNumber = page ?? 1;
+ int pageSize = 5;
+ var query = db.Members.ToList();
+ return View(query.ToPagedList(pageNumber,pageSize));
}
특히 어려운 곳은 아무것도 없습니다.
보기
계속해서 View. PagedList.Mvc를 사용합니다.
모델을 IEnumerable<>에서 PagedLinstIPagedList<>로 변경합니다.
또한 model.name 등의 지정을 사용할 수 없게 되므로 model.FirstOrDefault().name 등으로 변경합니다.
-@model IEnumerable<pagedlist01.Models.Members>
+@using PagedList.Mvc
+@model PagedList.IPagedList<pagedlist01.Models.Members>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
+ @Html.DisplayNameFor(model => model.FirstOrDefault().name)
</th>
<th>
+ @Html.DisplayNameFor(model => model.FirstOrDefault().email)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.email)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.id }) |
@Html.ActionLink("Details", "Details", new { id=item.id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.id })
</td>
</tr>
}
</table>
<div>
+ Page: @Model.PageNumber / @Model.PageCount
</div>
<div>
+ @Html.PagedListPager(Model, page => Url.Action("Index", new { page, pageSize = Model.PageSize }))
</div>
나중에 필요한 형식을 HTML 도우미로 지정합니다. 이상.
참고
Reference
이 문제에 관하여(PagedList 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zaburo/items/c2d98ffbc566f6c772d9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)