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

我一直在尝试PagedList包为我的索引视图分页。一切都进行顺利,在控制器级别一切正常,它只显示每页5条记录,并显示基于查询字符串的适当页面。 @H_404_2@我的问题是在视图中。我改变了@Model为PagedList.IPagedList,所以我可以访问Model.HasNextPage和其他属性,但现在@ Html.displayNameFor(model => model.ItemName)不再工作。我得到这个错误

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

@H_404_2@这里是视图的相关部分:

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

...

<th>
    @Html.displayNameFor(model => model.ItemName)
</th>
@H_404_2@它似乎IPagedList不兼容displayNameFor()。任何想法为什么这是发生,我如何可以解决它?我知道我可以手动输入列名,但我想让这些信息留在模型中(并且可以改变)。

解决方法

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....