_Pagination.cshtml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. @using Microsoft.AspNetCore.WebUtilities
  2. @model bitforum.Models.Pagination
  3. @if (Model.TotalRows > 0)
  4. {
  5. <nav id="pagination" aria-label="Page navigation">
  6. <ul class="pagination justify-content-center">
  7. @if (Model.Page > Model.PageGroupSize)
  8. {
  9. <li class="page-item">
  10. <a class="page-link" href="?page=@Model.PrevGroupPage&perPage=@Model.PerPage@Model.BuildQueryString()">이전</a>
  11. </li>
  12. }
  13. else
  14. {
  15. <li class="page-item disabled">
  16. <span class="page-link">이전</span>
  17. </li>
  18. }
  19. <!-- 페이지 번호 표시 -->
  20. @for (int i = Model.StartPage; i <= Model.EndPage; i++)
  21. {
  22. if (i == Model.Page)
  23. {
  24. <li class="page-item active">
  25. <span class="page-link">@i</span>
  26. </li>
  27. }
  28. else
  29. {
  30. <li class="page-item">
  31. <a class="page-link" href="?page=@i&perPage=@Model.PerPage@Model.BuildQueryString()">@i</a>
  32. </li>
  33. }
  34. }
  35. @if (Model.HasNextPage && Model.NextGroupPage <= Model.TotalPage)
  36. {
  37. <li class="page-item">
  38. <a class="page-link" href="?page=@Model.NextGroupPage&perPage=@Model.PerPage@Model.BuildQueryString()">다음</a>
  39. </li>
  40. }
  41. else
  42. {
  43. <li class="page-item disabled">
  44. <span class="page-link">다음</span>
  45. </li>
  46. }
  47. </ul>
  48. </nav>
  49. }