加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用@ Html.DisplayNameFor()与PagedList

发布时间:2020-12-15 21:10:01 所属栏目:asp.Net 来源:网络整理
导读:我一直在尝试PagedList包为我的索引视图分页。一切都进行顺利,在控制器级别一切正常,它只显示每页5条记录,并显示基于查询字符串的适当页面。 我的问题是在视图中。我改变了@Model为PagedList.IPagedList,所以我可以访问Model.HasNextPage和其他属性,但
我一直在尝试PagedList包为我的索引视图分页。一切都进行顺利,在控制器级别一切正常,它只显示每页5条记录,并显示基于查询字符串的适当页面。

我的问题是在视图中。我改变了@Model为PagedList.IPagedList,所以我可以访问Model.HasNextPage和其他属性,但现在@ Html.DisplayNameFor(model => model.ItemName)不再工作。我得到这个错误:

PagedList.IPagedList< Dossier.Models.Item>‘不包含“ItemName”的定义,并且没有接受类型为“PagedList.IPagedList< Dossier.Models.Item>”的第一个参数的扩展方法“ItemName”可以找到(你缺少一个using指令或程序集引用?)

这里是视图的相关部分:

@model PagedList.IPagedList<Dossier.Models.Item>
@using Dossier.Models.Item

...

<th>
    @Html.DisplayNameFor(model => model.ItemName)
</th>

它似乎IPagedList不兼容DisplayNameFor()。任何想法为什么这是发生,我如何可以解决它?我知道我可以手动输入列名,但我想让这些信息留在模型中(并且可以改变)。

解决方法

你可以试试这个
@Html.DisplayNameFor(model => model.FirstOrDefault().ItemName)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读