Пожалуйста, помогите мне с ошибкой ASP.NET MVC Paging - PullRequest
0 голосов
/ 19 ноября 2009

Я получаю следующую ошибку в моем приложении mvc, когда выполняю функцию подкачки

CS1061: «System.Collections.Generic.IEnumerable» не содержит определения для «HasPreviousPage», и не найден метод расширения «HasPreviousPage», принимающий первый аргумент типа «System.Collections.Generic.IEnumerable» Вы пропустили директиву использования или ссылку на сборку?)

скажите, пожалуйста, что делать и что это за модель.

Ответы [ 4 ]

2 голосов
/ 19 ноября 2009

Я думаю, что вы можете пропустить импорт пространства имен.

Является ли HasPreviousPage методом или свойством? Если это вспомогательный метод в типе списка, который вы возвращаете, вам нужно импортировать это пространство имен в файл aspx (или в файл web.config для отображения на всех страницах)

2 голосов
/ 19 ноября 2009

Это напоминает мне класс PaginatedList<T>, найденный в книге Conery et al MVC 1.0 Wrox ... (И, вероятно, также найденный в приложении NerdDinner.) У меня есть эта книга прямо здесь, рядом со мной, и этот раздел вкладки. И, конечно же, у них есть свойство под названием HasPreviousPage, что заставляет меня догадаться, с чем вы работаете? Это в главе 1, которую можно бесплатно скачать. (Google для этого.) Я настоятельно рекомендую взглянуть на эту главу или хотя бы на этот раздел, так как есть много других полезных советов и подсказок!

Удачи!

0 голосов
/ 19 ноября 2009

Здесь есть несколько возможностей:

Во-первых, модель - это ваш объект или класс. HasPreviousPage - это метод или функция в Model.

Вот несколько возможностей:

  1. Модель не определена, так как файл не включен в страницу
  2. HasPreviousPage не существует как метод
  3. HasPreviousPage на самом деле является свойством и нуждается в дополнительной информации для извлечения данных (как говорит Тстер)
  4. Подпись для HasPreviousPage неверна. Вы отправляете слишком много или недостаточно данных.

Я предполагаю, что это либо логическое свойство, либо метод, который возвращает логическое значение. В любом случае компилятор не знает, что с ним делать, поэтому вам нужно отследить его. Попробуйте найти в своем решении «HasPreviousPage». Посмотрите, где на него ссылаются, или где он находится.

Ctrl + F
Find What: 
HasPreviousPage
Look In:
Entire Solution
0 голосов
/ 19 ноября 2009

Вам необходимо изменить контроллер для использования пейджинга, проверьте http://blogs.embarcadero.com/johnk/2009/04/02/38871 для получения дополнительной информации

РЕДАКТИРОВАТЬ: Чтобы уточнить, поэтому где-то в контроллере вы увидите что-то с эффектом «return View (someModelObject)» - вам нужно использовать PaginationHelper.AsPagination здесь, чтобы превратить someModelObject в объект с возможностью просмотра

...