【问题标题】:server side pagination in mvc 4mvc 4中的服务器端分页
【发布时间】:2015-09-28 17:18:29
【问题描述】:

创建 mvc 4 application.currently 在该应用程序中,我正在使用客户端分页加载数千条记录。 我就是这样做的

  1. 使用全选 Linq 查询,我选择了其中的所有重新编码 表
  2. 然后使用 jquery tablesorter 插件将所有这些 以 10 x 10 块的形式记录,逐页显示这些结果

这是一张照片

由于这是大量数据,因此加载需要花费太多时间。因此我决定使用服务器端分页来执行此操作。

但我不知道如何实现这一点,您能否建议我使用 jquery 表排序器(不使用 jquery 数据表)来做到这一点

这是控制器类

 public ActionResult Index()
 {

       return View(db.table_name.ToList());

 }

这就是我使用jquery table sorter插件的方式

<script type="text/javascript">
    $(function () {
        $("#table-hover")

            .tablesorter({

                widthFixed: true,
                serverSideSorting: false

            })

            .tablesorterPager({
                container: $("#pager"),
                size: $(".pagesize option:selected").val()
            });

    });
 </script>

【问题讨论】:

标签: c# jquery asp.net-mvc linq pagination


【解决方案1】:

我建议使用 skip() 和 take() 函数应该做分页。当您调用此函数时,传递 page-no 和 no-of Record。并计算记录的启动和显示。 例如,您要显示 2 页和 50 条记录,然后像这样 linq 查询

var items =contex.employee.skip(50).take(50);

你想显示 3 页和 50 条记录,然后像这样 linq 查询

var items =contex.employee.skip(100).take(50);

【讨论】:

  • 其实这个记录数是可以变化的,我不知道有多少页,但肯定每页只有10条记录,你的方法可以吗?
  • 是的,首先您可以运行查询计数并确定总页数并执行此操作。
【解决方案2】:

我建议使用 Troy Goode 的 PagedList,您也可以自己手动执行此操作,但那将是重新发明轮子。

【讨论】:

  • 这可能会有所帮助,我会试试这个
  • 哦,你太棒了!!!!感谢您帮助我为我的问题应用最佳解决方案
猜你喜欢
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2016-05-04
相关资源
最近更新 更多