ho definire classe statica per abilitare il paging:come scrivere metodo di estensione per il paging in MVC
public static class Pager
{
public static IEnumerable<T> PageData<T>(this IEnumerable<T> source, int currentPage, int pageSize)
{
var sourceCopy = source.ToList();
if (sourceCopy.Count() < pageSize)
{
return sourceCopy;
}
return sourceCopy.Skip((currentPage - 1) * pageSize).Take(pageSize);
}
}
e voglio nel mio controller per fare come:
var pagedDataCourses = products.OrderBy(p => p.productName).PageData(currentPage, pageSize);
Quindi, dove posso metti quella classe/metodo statico in modo da poter ottenere il metodo di estensione per il paging in tutti i controller.
'chiamata OrderBy' deve essere lì nella query in dotazione. In caso contrario, Skip/Take non funzionerà per i provider LINQ relazionali. – Eranga