Я использую PagedList.Mvc NuGet Пакет для пейджинга, в свете все кажется отлично работает хорошо, но в моем контроллере эта ошибка возникаетСписок не содержит определение для «ToPagedList»
'System.Collections.Generic.List<CreateSocial.Models.UserProfiles>' does not contain a definition for 'ToPagedList' and no extension method 'ToPagedList' accepting a first argument of type 'System.Collections.Generic.List<CreateSocial.Models.UserProfiles>' could be found (are you missing a using directive or an assembly reference?)
даже хотя я определил как пространство имен:
using PagedList;
using PagedList.Mvc;
мой код выглядит следующим образом:
[HttpGet]
public ActionResult Results(SearchViewModel svm, int CurrentPage)
{
const int ResultsPerPage = 50;
List<UserProfiles> results = db.UserProfiles.Where(w => w.FirstName.Contains(svm.SearchStr) || w.LastName.Contains(svm.SearchStr)).ToList();
return View(results.ToPagedList(CurrentPage, ResultsPerPage));
}
I попытался удалить и снова добавить PagedList через консоль диспетчера пакетов. Но я не могу это исправить. Что может быть причиной этого и как его исправить? Надеюсь, вы, ребята, можете дать какие-то предложения. Заранее спасибо!
Очень важный момент здесь. Если вы используете 'ToList()', вы побеждаете всю точку пейджинга. Помимо использования 'IQueryable', вы также можете создать экземпляр' PagedList' через 'StaticPagedList', который позволит вам передать подмножество, полученное через' Skip' и 'Take' (которое вы * можете * вызывать' ToList() 'on) и общее количество. В любом случае, вы только запрашиваете записи, которые вам действительно нужны для текущей страницы. –