只有一個局部視圖,我有3類分頁用於剃刀
public IEnumerable<Nazivi_grupa> ngrupa { get; set; }
public IEnumerable<Grupe_radova> gradova { get; set; }
public IEnumerable<Pozicije> pozicije { get; set; }
局部視圖partPozicijeView.cshtml
@model PagedList.IPagedList<WebApplication3.ViewModels.mainViewModel>
@using PagedList.Mvc;
@{ some code to show table }
和主視圖視圖模型index.cshtml
@model WebApplication3.ViewModels.mainViewModel
@using PagedList.Mvc;
<tr>
<td>Category </td>
<td> :</td>
<td><div id="KnjigeNormativa">@Html.Partial("partKnjigeNormativaView", Model)</div> </td>
</tr>
<tr>
<td>Sub - Category </td>
<td> :</td>
<td><div id="GrupeRadova"> @Html.Partial("partGrupeRadovaView", Model)</div></td>
</tr>
<tr>
<td>Products </td>
<td> :</td>
<td><div id="Pozicije"> @Html.Partial("partPozicijeView", Model)</div></td>
</tr>
那調用3個部分視圖來顯示級聯下拉菜單中的前2個表格和表格中的第3個(pozicije)。
現在我想分頁添加到該表,但不管是什麼,我在第三部分視圖調用得到一個錯誤
The model item passed into the dictionary is of type 'WebApplication3.ViewModels.mainViewModel', but this dictionary requires a model item of type 'PagedList.IPagedList`1[WebApplication3.ViewModels.mainViewModel]'.
。
這裏也代碼控制器
public ActionResult SelectPozicije(string SelectedPosId, int? pnum)
{
int pageNumber = (pnum ?? 1);
mainViewModel mv = new mainViewModel();
mv.pozicije = new List<Pozicije>();
// mv.pozicije = (from p in mainViewModel.getPozicije()
// where p.grupa == SelectedPosId
// select p).ToPagedList(pageNumber, 25);
mv.pozicije = (from p in mainViewModel.getPozicije()
where p.grupa == SelectedPosId
select p).ToList();
return PartialView("partPozicijeView", mv);
}
我試過(註釋代碼)返回.ToPagedList(),但沒有成功......
有人可以點我如何做到這一點?在視圖
public ActionResult SelectPozicije(string SelectedPosId, int? pnum)
{
int pageNumber = (pnum ?? 1);
mainViewModel mv = new mainViewModel();
mv.pozicije = new List<Pozicije>();
mv.pozicije = (from p in mainViewModel.getPozicije()
where p.grupa == SelectedPosId
select p).ToList();
if (mv.pozicije.Count() != 0)
{
var resultsPage = mv.pozicije.ToPagedList(pageNumber, 20);
ViewBag.ResultsPage = resultsPage;
return PartialView("partPozicijeView", mv);
}
else
{
return PartialView("partPozicijeView");
}
}
然後:
我沒有將ViewModels.Pozicije聲明爲單獨的類。這只是mainViewModel類中的一個屬性。 –
你已經在mainViewModel中聲明瞭這個pozicije屬性,但是這是Pozicije的列表,即'IEnumerable',其中'Pozicije'應該是一個類刪除 –
它是一個單獨的數據庫表模型。 main viewmodel使用這3個表來顯示2個下拉列表和一個需要分頁的表。 –