5

我試圖用視圖模型來實現IPagedList,我的主要觀點的聲明是使用PagedList與視圖模型MVC 3

@model PagedList.PagedList<CustomerOrders.WebUI.Models.SiteAdminListViewModel> 

然後,我有它具有以下聲明中顯示模板

@model CustomerOrders.WebUI.Models.SiteAdminListViewModel 

在我的控制器中,我將視圖模型傳遞給視圖

return View(new SiteAdminListViewModel(customerSites.ToPagedList(pageIndex, pageSize), customers.ToPagedList(pageIndex, pageSize))); 

這會導致錯誤「th是詞典需要類型的模型項目「PagedList.PagedList 'PagedList.PagedList 1 CustomerOrders.WebUI.Models.SiteAdminListViewModel]」

我明白什麼是錯誤的說法,但即時通訊不能確定如何ammend視圖模型來incoporate的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") &nbsp; 
    <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> 
+0

您沒有提供足夠的信息,也沒有提供水晶球。視圖模型是什麼樣的?顯示模板?看起來錯誤的是PagedList應該專門用於SiteAdminListModel。你知道PagedList <>是什麼意思嗎? – awrigley

+0

@awrigley,你好,我很抱歉,我沒有包括viewmodel代碼馬上我經常發現,當一個職位太深入它沒有得到一個迴應,我已經更新與viewmodel代碼的職位,我一直在按照排序和分頁教程在MVC網站和他們的代碼在視圖聲明上使用PagedList,但他們不使用視圖模型。 – Liam

+0

PagedList的代碼是什麼樣的? Customer.ToPagedList的代碼是什麼?拋出異常在哪裏? –

回答