Ich benutze PagedList.MVC nugget, und es dauert fast 10 Sekunden jedes Mal, wenn ich auf die nächste Schaltfläche geklickt habe. Ich habe gesehen, dass es in der PagedList etwa 350.000 Ergebnisse gibt und jedes Mal, wenn ich auf die nächste Schaltfläche klickte, durchläuft es alle Ergebnisse erneut. Wie soll ich das lösen?Wie Leistungsproblem lösen, wenn Paginierung in .net mvc?
Hier ist der Code.
public ActionResult Index(int? page)
{
List<Item> items;
using (var db = new DBDevEntities())
{
items= db.items.ToList();
}
var pageNumber = page ?? 1;
return View(items.ToPagedList(pageNumber, 25));
}
Verwenden Sie keine 'Liste- ' und '.ToList()' (das alle Datensätze in den Speicher geladen wird, bevor Sie die Paging tun –
Sie Ihre gesamte Liste jedes Mal, wenn das Laden der Seite Cache. der Wert von 'items' in eine Eigenschaft Ihres Controllers (oder noch besser, Paging-Server-Seite implementieren). –
@stephenmuecke Sie sollten es verwenden? –