インデックス ビューのページングを取得するために PagedList パッケージを試しています。すべてが順調に進んでおり、コントローラー レベルではすべて正常に動作しています。1 ページあたり 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() と互換性がないようです。なぜこれが起こっているのか、どうすれば修正できるのでしょうか? 列名を手動で入力するだけでよいことはわかっていますが、その情報を後でモデルに残しておきたい (そして変更可能にしたい)。