zoukankan      html  css  js  c++  java
  • P35 翻页(下)







    在框架里面我们怎么实现呢?通常会实现一个自定义的类,这个类是一个泛型类。。这个类通常会包含一些属性。

    开始写代码

    首先建立泛型类

    PagedList加上泛型<T> 继承List,PagedList本身就是一个集合,只不过我们在这个集合的基础之上加了一些分页信息。

    当前页和总页数。他们的属性是private 防止在类外面设置。否则他们的值就会被设置成不合理的值。



    是否有前一页和后一页


    只要是currentPage,也就是当前页大于1,他就有前一页。

    是否包含下一页

    需要一个构造函数,把这些相关的参数都传进来。
    数据的总数Item,数据总数count,当前页pageNumebr。然后每页显示的数据条数据pageSize。
    totalPages需要算一下:如果是5除以2.等于2.5那么就显示3页。所以这里使用Math.Ceiling。最后再把double转换成int类型。

    最终的是我们要把items添加到List里面,这里使用AddRange就可以了。

    我们不支持使用这个构造函数,我们建立一个静态方法

    改成异步

    这里我们实际上可以把查询表达式queryExpression直接作为参数传入createAsync方法

    下面我们就来改下Repository

    先来修改接口。

    实现类。

    方法具体返回的修改。



    controller

    首先要做的就是生成前一页和后一页的链接。生成这个链接就需要用到URLHelper,它里面有个link方法。link方法就可以生成URI。但是link方法需要知道这个Action的name,所以这里我们需要先给action加上name


    建立一个private的方法。ResourceUriType是一个枚举类型。


    下面建立这个枚举。在Helpers文件夹下建。




    因为是前一页,所以这里要减1



    必须带上查询过滤条件,否则下一页的数据就不对了。

    后一页

    默认当前页

    如果有前一页就生成




    下一页

    所有的元数据先弄出来一个对象吧。new一个匿名类





    测试




    headers里面数据。

    试一下这个链接

    这里有个错误把&,不安全的字符转义了

    这里转换的时候加上第二个参数

    里面配置一个属性



    重新测试




    复制出来,查询第二页

    前一页和上一页的数据也都出来了

     

    结束


  • 相关阅读:
    20190710-汉诺塔算法
    20190705-Python数据驱动之DDT
    20190621-N皇后
    还在为Excel合并单元格导致的各种问题烦恼吗?这里一起解决
    Excel基础:开始菜单之对齐方式,那些被遗忘的实用功能
    Excel中身份证号码如何分段显示,难倒小编,有什么好方法吗?
    制作这样的Excel注水图表,让老板另眼相看,坐等升职加薪
    Excel高手都会的Shift快捷键7个用法,让工作效率翻倍
    Excel答粉丝问:批量将单元格内容转为批注
    Excel基础:开始菜单之字体的华丽转身
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/14130063.html
Copyright © 2011-2022 走看看