C# MVC分頁簡單介紹


ASP.NET MVC中進行分頁的方式有多種,這里介紹一種簡單實用的方法

一:在實現分頁之前,先添加“PagedList”和“PagedList.Mvc”兩個組件,具體下載直接在NuGet程序包里收索安裝就行

 

二:(1)數據源,實現分頁的前提除了必要組件我們還要有數據源,我這里是直接從數據庫里獲取的數據;

  (2)分頁處理,分頁邏輯中有分頁索引,分頁條數兩個必要參數,然后通過ToPagedList擴展方法進行分頁;

  (3)將分頁數據傳給View

以下是實現代碼

Controller類:

using PagedList;
public
class UserInfoController : Controller { //數據源 private testEntities db = new testEntities(); // GET: Userinfo public ActionResult Index(int? page) { var userList = from s in db.userInfo select s; //第幾頁 int pageNumber = page ?? 1; //每頁顯示多少條 int pageSize = 5; //根據ID升序排序 userList = userList.OrderBy(x => x.userId); //通過ToPagedList擴展方法進行分頁 IPagedList<userInfo> userPagedList = userList.ToPagedList(pageNumber, pageSize); //將分頁處理后的列表傳給View return View(userPagedList); //return View(db.userInfo.ToList()); } }

頁面View

@model PagedList.IPagedList<WebMvcDemo.Models.userInfo>
@using PagedList.Mvc;

@{
    ViewBag.Title = "Index";
}
<div class="container">
    <h2>用戶列表</h2>

    <table class="table">
        <tr>
            <th>
                姓名
            </th>
            <th>
                年齡
            </th>
            <th>
                性別
            </th>
            <th></th>
        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.userName)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.userAge)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.userSender)
                </td>
                <td>
                    @Html.ActionLink("編輯", "Edit", new { id = item.userId }) |
                    @Html.ActionLink("詳情", "Details", new { id = item.userId }) |
                    @Html.ActionLink("刪除", "Delete", new { id = item.userId })
                </td>
            </tr>
        }
    </table>

</div>
<div>
    @*分頁主要代碼*@ 每頁 @Model.PageSize 條記錄,共 @Model.PageCount 頁,當前第 @Model.PageNumber 頁 @Html.PagedListPager(Model, page => Url.Action("Index", new { page })) </div>

效果圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM