MVC ile Sayfalama işlemi / MVC paging yapma
İnternet sayfalarında verileri gösterirken çok fazla veri göstermek hem internet performansını hemde sunucu tarafında veritabanı performansını çok düşüreceği için sayfalar halinde veriler gösterilmesi gerekmektedir.
Bunun için veriler sayflar halinde gösterilmesi gerekir. Sayfalama ile ilgili kendi algoritmamızın yazılmasından hazır kütüphanelere kadar bir çok yöntem kulanılabilir.
Biz en paratik yöntemlerden biri olan PagedList kütüpanesi ile sayfalama (paging) yapacağız. Yapacağımız paging server side olacak. Yani veritabanından sadece sayfaladığımız kayıt çekilecek böylece performans kaybı olmayacak ve sayfamız hızlı çalışacaktır.
Nuget Package Manager sitesinden pagelist yazıp aramaya yapılır.
Package Manager Consola aşağıdaki ifade yazılır.
Install-Package PagedList.Mvc
Böylece pagelist kütüphanesi projemize dahil edilmiş olur.
Pagelist kütüphanesi MVC 4.5 ve üstünde çalışmaktadır.
Control Sayfasında
using PagedList; Public ActionResult Index(int Sayfa=1) { return View(Kategory.OrderByDescending(x=>x.AddDate).ToPagedList(Sayfa,20)); }
View Sayfasında
@model IEnumerable yerine sil @using PagedList.Mvc; @model PagedList.IPagedList
View da sayfalama yerinde