Я пытаюсь реализовать 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]»
Я понимаю, что говорит ошибка, но я не уверен, как дополнить viewmodel кто-либо еще испытал это, или кто-либо может указать мне в правильном направлении?
Редактируют////////////////
, Это - мой viewmodel
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>