首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PagedList ViewModel中的对象列表

PagedList ViewModel中的对象列表
EN

Stack Overflow用户
提问于 2020-09-09 00:06:34
回答 2查看 248关注 0票数 2

我安装了PagedList.MVC Nugget软件包,我正在尝试从一个列表中生成一个PagedList,

我的观点中的

代码语言:javascript
复制
@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
                    }))

我的控制器:

代码语言:javascript
复制
 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:

代码语言:javascript
复制
namespace MyProject.ViewModel
{
    public class AddProductsViewModel
    {
          stuff
        

        public List<Productos> ListaProductos { get; set; }
     }          
}

问题是,如果不更改这个,我就无法访问ProductsList

代码语言:javascript
复制
@model PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel>

有办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-15 10:19:49

试着做这样的事情:

代码语言:javascript
复制
public class ProductsPageViewModel() 
{
    public PagedList.IPagedList<MyProject.ViewModel.AddProductsViewModel> AddProductsPagedList { get; set; }
    // other properties/methods for your view go here...    
}

那么在你看来:

代码语言:javascript
复制
@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
}))
票数 1
EN

Stack Overflow用户

发布于 2020-09-18 15:38:38

在我的ViewModel:

代码语言:javascript
复制
namespace MyProject.ViewModel
{
    public class AddProductsViewModel
    {
          stuff
        

        public List<Productos> ProductsList { get; set; }
     }          
}

改变了这一点:

代码语言:javascript
复制
 public List<Productos> ProductsList { get; set; }

至:

代码语言:javascript
复制
 public PagedList.IPagedList<Productos> ProductsList { get; set; }

我想感谢用户亚历克斯帮助我找到这个答案,并帮助我解决之前的其他问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63803036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档