我一直在尝试 PagedList 包来为我的索引视图获取分页。一切进展顺利,在控制器级别一切正常,每页仅显示 5 条记录,并根据查询字符串显示适当的页面。
我的问题在视图中。我将 @Model 更改为,PagedList.IPagedList
以便可以访问Model.HasNextPage
和其他属性,但现在@Html.DisplayNameFor(model => model.ItemName)
不再工作。我收到此错误:
PagedList.IPagedList<Dossier.Models.Item>' does not contain a definition for 'ItemName' and no extension method 'ItemName' accepting a first argument of type 'PagedList.IPagedList<Dossier.Models.Item>' could be found (are you missing a using directive or an assembly reference?)
以下是视图的相关部分:
@model PagedList.IPagedList<Dossier.Models.Item>
@using Dossier.Models.Item
...
<th>
@Html.DisplayNameFor(model => model.ItemName)
</th>
似乎 IPagedList 与 DisplayNameFor() 不兼容。知道为什么会发生这种情况,以及我该如何解决?我知道我可以手动输入列名,但我希望该信息稍后保留(并且可以更改)在模型中。