Phân trang trong Asp.net MVC

Bước 1 : Cài đặt thư viện PagedList.Mvc

Các bạn sử dụng Nuget Package  Manager cài đặt thư viện sau

Bước 2 : Load dữ liệu

Thông thường việc load dữ liệu sẽ rơi vào 1 trong 2 trường hợp sau

Trường hợp 1 : Load trực tiếp từ database (IQueryable)

Cách này thì rất đơn giản, bạn chỉ cần gọi .ToPagedList là được

Trường hợp 2 : Dữ liệu trả về từ API

Dữ liệu này thường đã được phân trang sẵn rồi, nếu bạn gọi .ToPagedList  thì kết quả sẽ bị sai, do đó chúng ta làm như sau

Giả định dữ liệu trả về từ api có cấu trúc như sau (luôn luôn có các thông tin total page & pageSize)

Trước khi trả dữ liệu ra view, bạn phải khởi tạo đối tượng StaticPagedList

Bước 3 : Render paging bar

Để hiển thị được thanh paging bar ngoài giao diện, các bạn sử dụng câu lệnh