Asp.net mvc 4 MVC4分页Nugget包工作流

Asp.net mvc 4 MVC4分页Nugget包工作流,asp.net-mvc-4,pagination,Asp.net Mvc 4,Pagination,我已经从nugget包中实现了MVC4分页库。它很好用 当有数千条记录时,我的应用程序可以很好地进行分页,而不是当站点负载数据增加约10时,应用程序仍然很慢 请参阅下面的代码 private const int defaultPageSize = 10; public ActionResult Index(int? page) { int currentPageIndex = page.HasValue ? page.Value : 1;

我已经从nugget包中实现了MVC4分页库。它很好用

当有数千条记录时,我的应用程序可以很好地进行分页,而不是当站点负载数据增加约10时,应用程序仍然很慢

请参阅下面的代码

private const int defaultPageSize = 10;     
public ActionResult Index(int? page)
        {
            int currentPageIndex = page.HasValue ? page.Value : 1;

            var items = db.GetAllEmployees(); // This will return all the records

            var result = items.Documents.ToPagedList(currentPageIndex, defaultPageSize);


            return View(result);
        }

当站点数据负载增加时,如何解决这个问题。

您的问题是总是加载所有数据,而不是只加载您需要的数据,请看示例。我使用了
context.MyTable
,因为我不知道您的
GetAllEmployees()
方法的逻辑。此外,您将不需要分页Nuget包

public ActionResult Index(int? page)
{
    int currentPageIndex = page.HasValue ? page.Value : 1;

    var items = context.MyTable.Skip((currentPageIndex - 1) * defaultPageSize)
    .Take(defaultPageSize).ToList();

    return View(items);
}

GetAllEmployees()逻辑就是context.MyTable.ToList()。另一件事是如何实现相同的分页而不是Nuget?您将使用Skip and Take组合来代替ToPagedList。我同意,但如何创建这样的分页控件。有什么例子吗?关于分页控制,你的意思是什么?你的问题是-当站点数据负载增加时,如何解决加载缓慢的问题,而不是如何实现分页控制。正如您所注意到的,操作的返回值保持不变,因此您可以尝试使用旧的分页控件,但它可能无法工作。您应该在减少加载时间和创建自定义分页控件之间做出选择,或者保持初始状态不变,也可以尝试将现有控件调整为新的数据提取逻辑。