“返回视图(学生)”行出错.ToPagedList (pageNumber pageSize));“

本文关键字:ToPagedList pageNumber 出错 pageSize 视图 返回视图 学生 返回 | 更新日期: 2023-09-27 18:15:27

我是MVC新手。这个错误意味着什么?

The call is ambiguous between the following methods or properties:
'PagedList.PagedListExtensions.ToPagedList<ContosoUniversity.Models.Student>
(System.Linq.IQueryable<ContosoUniversity.Models.Student>, int, int)' and
'System.Web.Mvc.Pagination.ToPagedList<ContosoUniversity.Models.Student>
(System.Linq.IQueryable<ContosoUniversity.Models.Student>, int, int)'

“返回视图(学生)”行出错.ToPagedList (pageNumber pageSize));“

这些方法具有相同的原型,即.ToPagedList(System.Linq.IQueryable, int, int),但它们不属于同一个包。

你必须明确你想使用的两种方法中的哪一种,或者通过使用全名,即PagedList.PagedListExtensions.ToPagedList(System.Linq.IQueryable, int, int)System.Web.Mvc.Pagination.ToPagedList(System.Linq.IQueryable, int, int);或者导入正确的包,即PagedList.PagedListExtensionsSystem.Web.Mvc.Pagination

我能够解决这个问题,首先将我的数据集合强制转换为IEnumerable,然后调用PagedList类的方法。

var csr = (System.Collections.Generic.IEnumerable<CaseSearchResult>)Model.CaseSearchResults;
var results = csr.ToPagedList<CaseSearchResult>(pageNum, pageSize);

当我点击寻呼机时,我仍然没有得到第二页的结果,所以我不确定发生了什么。我试着把它从局部视图中取出来,并把它包含在主视图中。接下来,我将尝试在Ajax表单中封装搜索结果。