请帮我解决ASP.NET MVC分页错误

时间:2009-11-19 07:24:26

标签: asp.net-mvc paging

当我在进行分页功能时,我的mvc应用程序中出现以下错误

CS1061:'System.Collections.Generic.IEnumerable'不包含'HasPreviousPage'的定义,并且没有扩展方法'HasPreviousPage'接受类型'System.Collections.Generic.IEnumerable'的第一个参数可以找到(是你错过了使用指令或程序集引用?)

请告诉我该怎么做以及该模型是什么。

4 个答案:

答案 0 :(得分:2)

这让我想起了在Conery et al MVC 1.0 Wrox书中找到的PaginatedList<T>课程......(也可能在NerdDinner应用程序中找到了)。我实际上有这本书就在我旁边并且有这部分标签。当然,他们有一个名为HasPreviousPage的属性,这让我猜你正在使用它?它在第1章,可以免费下载。 (Google for it。)我强烈建议您查看本章,或至少本章,因为还有许多其他有用的建议和提示!

祝你好运!

答案 1 :(得分:2)

我认为您可能缺少名称空间导入。

HasPreviousPage是方法还是属性?如果它是你要返回的列表类型的helper方法,那么你需要在aspx文件中导入该命名空间(或者在web.config中导入以反映所有页面)

答案 2 :(得分:0)

您需要更改控制器以使用分页,请查看http://blogs.embarcadero.com/johnk/2009/04/02/38871以获取更多信息

编辑:为了澄清,所以在Controller中的某个地方,你会看到“返回View(someModelObject)”的效果 - 你需要在这里使用PaginationHelper.AsPagination将someModelObject变成可分页的对象

答案 3 :(得分:0)

这里有一些可能性:

首先,模型是你的对象或类。 HasPreviousPage是Model中的方法或函数。

以下是一些可能性:

  1. 未定义模型,因为该文件未包含在页面中
  2. HasPreviousPage不作为方法存在
  3. HasPreviousPage实际上是一个属性,需要更多信息来提取数据(正如tster所说)
  4. HasPreviousPage的签名不正确。您发送的数据太多或数据不足。
  5. 我的猜测是它是布尔属性,还是返回布尔值的方法。无论哪种方式,编译器都不知道如何处理它,因此您需要跟踪它。尝试在“HasPreviousPage”的解决方案中查找。查看它是否被引用到任何地方或它所在的位置。

    Ctrl + F
    Find What: 
    HasPreviousPage
    Look In:
    Entire Solution