【发布时间】:2020-12-27 09:04:51
【问题描述】:
我安装了 PagedList.MVC Nugget 包,并试图从列表 List
在我看来:
@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);
}
我的 ViewModel:
namespace MyProject.ViewModel
{
public class AddProductsViewModel
{
stuff
public List<Productos> ListaProductos { get; set; }
}
}
问题是我无法访问 ProductsList 而不更改它
@model PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel>
有办法吗?
【问题讨论】:
-
您应该使用包装视图模型将分页列表作为属性保存,然后将该虚拟机用作视图中的模型。这样你就不会限制自己
-
你能给我一个代码示例吗?我想我明白了,但无法真正想象它 rn @Alex
标签: c# asp.net .net model-view-controller