Я написал метод расширения для pagin моих списков:
public static class DataPager
{
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);
}
}
Может быть полезным для вас, например
var courses = List<Courses>(); // Get courses somehow...
int currentPage = 2;
int pageSize = 5;
var pagedCourses = courses.OrderBy(c => c.Course.Title).PageData(currentPage, pageSize);