Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Asp内核,如何创建分页?_Asp.net_Asp.net Mvc_Asp.net Core Mvc_Paging - Fatal编程技术网

Asp.net Asp内核,如何创建分页?

Asp.net Asp内核,如何创建分页?,asp.net,asp.net-mvc,asp.net-core-mvc,paging,Asp.net,Asp.net Mvc,Asp.net Core Mvc,Paging,我想使用PagingList.CreateAsync()在索引视图中创建PagedList,但在var modelPaging=wait PagingList.CreateAsync(model,10,page)行中获得以下错误信息: 无法从system.collection.Generic.List转换为system.linq.IorderedQueryable 我的行动代码: [HttpGet] public async Task<IActionResult> I

我想使用
PagingList.CreateAsync()
在索引视图中创建PagedList,但在
var modelPaging=wait PagingList.CreateAsync(model,10,page)行中获得以下错误信息

无法从system.collection.Generic.List转换为system.linq.IorderedQueryable

我的行动代码:

    [HttpGet]
    public async Task<IActionResult> Index(int page = 1)
    {

        List<UserListViewModel> model = new List<UserListViewModel>();
        model = _userManager.Users.AsNoTracking().Select(u => new UserListViewModel
        {
            Id = u.Id,
            FullName = u.FirstName + " " + u.LastName,
            Email = u.Email
        }).OrderBy(u => u.Id).ToList();
        var modelPaging = await PagingList<UserListViewModel>.CreateAsync(model, 10, page);

        return View(modelPaging);
    }
public class UserListViewModel
{

    public string Id { get; set; }

    public string FullName { get; set; }

    public string Email { get; set; }

    public string RoleName { get; set; }

}
我应该在代码中做什么更改


我在这里问了另一个关于这个主题的问题

错误很明显,它告诉您
CreateAsync
需要
IOrderedQueryable
,但您提供的是已经从数据库检索到的数据。您应该传递查询本身。删除
ToList

var query = _userManager.Users.AsNoTracking().Select(u => new UserListViewModel
{
    Id = u.Id,
    FullName = u.FirstName + " " + u.LastName,
    Email = u.Email
}).OrderBy(u => u.Id);
var modelPaging = await PagingList<UserListViewModel>.CreateAsync(query, 10, page);
var query=\u userManager.Users.AsNoTracking().Select(u=>newuserlistviewmodel
{
Id=u.Id,
全名=u.FirstName+“”+u.LastName,
电子邮件=美国电子邮件
}).OrderBy(u=>u.Id);
var modelPaging=await PagingList.CreateAsync(查询,第10页);
PagingList
的主要目的是直接从数据库而不是在内存中应用分页。

我假设
OrderBy(u=>u.Id)
返回一个
IOrderedQueryable
。因此,您可以删除
ToList()
。如果没有,则添加
AsQueryable().OrderBy(u=>u.Id)
而不是
OrderBy