页面显示数据库中的所有内容

问题描述 投票:0回答:1

PageSize字段指示信息应该显示在一页上,大约八个对象,但是该页面显示数据库中的所有内容。

        private readonly IObjectRepository _objectRepository;
        private readonly IWebHostEnvironment hostingEnvironment;
        public int PageSize = 8;

        public HomeController(IObjectRepository objectRepository, IWebHostEnvironment hostingEnvironment)
        {
            _objectRepository = objectRepository;
            this.hostingEnvironment = hostingEnvironment;
        }

        public ViewResult Index(int objectPage)
        {
            var model = _objectRepository.GetAllObjects();
            model.OrderBy(o => o.Id)
                 .Skip((objectPage - 1) * PageSize)
                 .Take(PageSize);
            return View(model);
        }
asp.net-core-mvc asp.net-core-2.1
1个回答
0
投票

SkipTake返回一个新的IEnumerable,而不是修改现有的IEnumerable。因此,您应该替换此行:

model.OrderBy(o => o.Id)
             .Skip((objectPage - 1) * PageSize)
             .Take(PageSize);

with:

model=model.OrderBy(o => o.Id)
             .Skip((objectPage - 1) * PageSize)
             .Take(PageSize);

通过这种方式,您将新查询值分配给baseQuery,然后在枚举它时,它将返回预期的实体。

© www.soinside.com 2019 - 2024. All rights reserved.