ビューモデルで IPagedList を実装しようとしています。私の主なビュー宣言は
@model PagedList.PagedList<CustomerOrders.WebUI.Models.SiteAdminListViewModel>
次に、次の宣言を持つ表示テンプレートがあります
@model CustomerOrders.WebUI.Models.SiteAdminListViewModel
私のコントローラーでは、ビューモデルをビューに渡しています
return View(new SiteAdminListViewModel(customerSites.ToPagedList(pageIndex, pageSize), customers.ToPagedList(pageIndex, pageSize)));
これにより、「このディクショナリには、タイプ 'PagedList.PagedList 'PagedList.PagedList
1[CustomerOrders.WebUI.Models.SiteAdminListViewModel]'のモデル アイテムが必要です」というエラーが発生します。
エラーの内容は理解できますが、ビューモデルを修正して PagedList を組み込む方法がわかりません。他の誰かがこれを経験したことがありますか、それとも誰かが私を正しい方向に向けることができますか?
編集////////////////
これは私のビューモデルです
public class SiteAdminListViewModel
{
public IEnumerable<CustomerSite> CustomerSites { get; set; }
public IEnumerable<Customer> Customers { get; set; }
public Customer Cust { get; set; }
public CustomerSite CustSite { get; set; }
public bool HasPreviousPage { get; set; }
public bool HasNextPage { get; set; }
public int PageCount { get; set; }
public int PageNumber { get; set; }
public SiteAdminListViewModel()
{
}
public SiteAdminListViewModel(IEnumerable <CustomerSite> customerSites, IEnumerable<Customer> customers)
{
CustomerSites = customerSites;
Customers = customers;
}
}
これは表示テンプレートのスニペットです////////////
@model CustomerOrders.WebUI.Models.SiteAdminListViewModel
@using (Html.BeginForm())
{
<p class="search-controls">
Find site by postcode: @Html.TextBox("SearchString")
<input type="submit" value="Search" /></p>
}
<td>
@Model.CustSite.CustomerSiteId
</td>
<td>
@Html.ActionLink(Model.Cust.CustomerName, "Edit", new { Model.CustSite.CustomerSiteId })
</td>
<td>
@Model.CustSite.AddressLine1
</td>
<td>
@Model.CustSite.Town
</td>