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")
<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>
您沒有提供足夠的信息,也沒有提供水晶球。視圖模型是什麼樣的?顯示模板?看起來錯誤的是PagedList應該專門用於SiteAdminListModel。你知道PagedList <>是什麼意思嗎? – awrigley
@awrigley,你好,我很抱歉,我沒有包括viewmodel代碼馬上我經常發現,當一個職位太深入它沒有得到一個迴應,我已經更新與viewmodel代碼的職位,我一直在按照排序和分頁教程在MVC網站和他們的代碼在視圖聲明上使用PagedList,但他們不使用視圖模型。 – Liam
PagedList的代碼是什麼樣的? Customer.ToPagedList的代碼是什麼?拋出異常在哪裏? –