Я пытаюсь реализовать 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>