我安装了PagedList.MVC Nugget软件包,我正在尝试从一个列表中生成一个PagedList,
我的观点中的:
@model PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel>
@using PagedList.Mvc;
stuff here
<table class="table" align="left" style="padding-left:15px">
<tr>
<th>
Product
</th>
</tr>
@foreach (var item in Model.ProductsList)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Descripcion)
</td>
</tr>
}
</table>
Página: @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) de: @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index", new
{
page,
sortOrder =
ViewBag.CurrentSort,
currentFilter = ViewBag.CurrentFilter
}))我的控制器:
public ActionResult NewSale(int? page=null)
{
page = (page ?? 1);
var productspl = db.Products
.Include(p => p.Category)
.Include(p => p.Color).OrderBy(p => p.Description).ToPagedList((int)page, 8);
var saleViewModel = new AddProductsViewModel
{
ProductsList = productospl,
};
return View(saleViewModel);
}My ViewModel:
namespace MyProject.ViewModel
{
public class AddProductsViewModel
{
stuff
public List<Productos> ListaProductos { get; set; }
}
}问题是,如果不更改这个,我就无法访问ProductsList
@model PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel>有办法吗?
发布于 2020-09-15 10:19:49
试着做这样的事情:
public class ProductsPageViewModel()
{
public PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel> AddProductsPagedList { get; set; }
// other properties/methods for your view go here...
}那么在你看来:
@model ProductsPageViewModel
// other HTML here....
Página: @(Model.AddProductsPagedList.PageCount < Model.AddProductsPagedList.PageNumber ? 0 : Model.AddProductsPagedList.PageNumber) de: @Model.AddProductsPagedList.PageCount
@Html.PagedListPager(Model.AddProductsPagedList, page => Url.Action("Index", new
{
page,
sortOrder =
ViewBag.CurrentSort,
currentFilter = ViewBag.CurrentFilter
}))发布于 2020-09-18 15:38:38
在我的ViewModel:
namespace MyProject.ViewModel
{
public class AddProductsViewModel
{
stuff
public List<Productos> ProductsList { get; set; }
}
}改变了这一点:
public List<Productos> ProductsList { get; set; }至:
public PagedList.IPagedList<Productos> ProductsList { get; set; }我想感谢用户亚历克斯帮助我找到这个答案,并帮助我解决之前的其他问题。
https://stackoverflow.com/questions/63803036
复制相似问题