layui table分页查询

本文介绍了如何在MVC项目中利用layui插件进行分页查询。自定义了LayuiTablePage和LayuiTableData类,用于处理分页参数和返回数据。在查询数据库时,通过Skip()和Take()方法实现分页,结合OrderBy()进行排序。最后展示了Visual Studio 2015中分页查询的控制器代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术: MVC

作者:彭水清

撰写时间:2019/4/17

首先呢,我得先说明LayuiTablePage、LayuiTableData这三个我自定义的类,LayuiTablePage这个类中有page(代表当前页码)、limit 代表每页数据量、public int
GetStartIndex(){return (page - 1) * limit;}(分页开始序号)、public int GetEndIndex(){ return page * limit - 1;}(分页结束序号)这四个字段;LayuiTableData这个类中有 code(数据状态码 – 可以不设置)、msg(状态信息
– 可以不设置)、count(总行数 – 必须)、data(数据 – 必须)这四个字段。 另外我使用layui插件来初始化数据表格,这里传参就不需要这么麻烦。

我们要想做分页查询,我们应该要从数据库中查询到学院表的所有数据,所以我们通过创建一个实体类(varLinq)来接收数据库中所有学院数据,接着我们自定义一个int类型的名字来接收到上面我们所说到的一个实体类(varLinq)的总行数;当这个表格的总行数超过limit时,多出来的数据将会呈现在第二页,这时我们需要通过Skip()跳过第二页GetStartIndex数据(也就是说当我们点击下一页时,第二页将会从limit+1的位置开始)获取到余下的数据,Take()是让我们可以看到第二页的起始数据到末尾数据,获取指定n数量的连续数据。不过在使用skip和take之前,我们不要忘记在使用它们之前,必须要使用orderby排序。最后一步就是我们在创建一个类来记录我的总行数和数据,然后我就封装返回的数据,总行数就等于我查询学院表的总行数,数据就等于我分页查询的学院表的数据,再返回页面上。

以下就是Visual Studio 2015 分页查询控制器的代码:

public ActionResult SelectAcademeAll(LayuiTablePage layuiTablePage)

    {

        var varLinq = from tbAcademe in myModel.SYS_Academe

                      orderby tbAcademe.AcademeID

                      select tbAcademe;

        //查询SYS_Academe的总行数

        int totalRow = varLinq.Count();

        //分页查询SYS_Academe的数据

        //!!!!!!
Skip  Take使用前必须要使用orderby

        List<SYS_Academe> list = varLinq

                                 
                                 .Skip(layuiTablePage.GetStartIndex())

                                 
                                 .Take(layuiTablePage.limit)

                                 
                                 .ToList();

        //封装layui table数据

        LayuiTableData<SYS_Academe>layuiTableData=newLayuiTableData<SYS_Academe>

        {

            count = totalRow,

            data =list

        };

        //返回json

        return Json(layuiTableData, JsonRequestBehavior.AllowGet);

    }

新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值