Пейджинг в MVC .NET Framework не работает, как заставить его работатьC#

Место общения программистов C#
Anonymous
Пейджинг в MVC .NET Framework не работает, как заставить его работать

Сообщение Anonymous »

Я пытаюсь преобразовать старое приложение веб-форм asp.net в приложение MVC с помощью Entity Framework. Я создал модель для этого приложения с помощью команды scaffold-DbContect, которая является частью основных инструментов EF. Мне удалось создать список элементов. В данном случае я конвертирую старую систему отслеживания проблем. Список представляет собой список зарегистрированных ошибок. Но это довольно длинный список (5К+ записей), поэтому хотелось бы добавить пейджинг. Я наткнулся на этот элемент на SO, и третий ответ выглядел так, будто он может мне подойти.
Поэтому я добавил следующий код в индексное действие моего контроллера

Код: Выделить всё

  public ActionResult Index(int page = 0)
{

int pageSize = 10;

var qry = db.Bugs
.Include(e => e.Organization)
.Include(e => e.AssignedUser)
.Include(e => e.UpdatedUser)
.Include(e => e.ReportedUser)
.Include(e => e.Project)
.Include(e => e.Category)
.Include(e => e.Status)
.Include(e => e.Priority)
.AsNoTracking()
.AsQueryable();

var count = qry.Count();

var data = qry.Skip(page * pageSize).Take(pageSize).OrderBy(e => e.BgId);

this.ViewBag.MaxPage = (count / pageSize) - (count % pageSize == 0 ? 1 : 0);

this.ViewBag.Page = page;

return View(data.ToList());
}
Проблема в том, что я не получаю никаких результатов. Если я отлаживаю данные, var имеет счетчик 10, но вывода нет.
Если я не фильтрую и просто использую qry.ToList() в своем возвращаемом View(), я получаю все записи. Исключение также не создается. Что мне не хватает? Кто-нибудь знает? Кажется, я что-то упускаю из виду.

Подробнее здесь: https://stackoverflow.com/questions/641 ... it-to-work

Вернуться в «C#»