天天看点

asp.net 分页-自己写分页控件

  去年就发表过 ,那种方法只是单纯的实现了分页,基本不能使用,那时就想写个自己的分页控件,无奈能力有限。最近有点时间了,就自己做出了这个分页控件。我承认,这个控件参考了别人的,但是其实里面的原理都相同,差异只是展现方式而已。

  去年就在做一个自己的后台系统,刚开始用的asp.net,做了一部分就没有做了,因为缺少权限控制类别。后面转为用asp.net

mvc4做,也只是做了一部分,觉得不太方便,也许是我不太会用。再用ajax+ashx做了一部分,虽然体验不错,但是我还是放弃了,比起纯正的asp.net还是麻烦多了。我要做的系统不是很大,觉得用asp.net很方便,权限控制,通用控件可以加快步伐。所以我决定先做出来再说,怎么简单怎么做。

展示效果

asp.net 分页-自己写分页控件

属性解释:

css:定义div和链接等的样式

selectcss:当前选择的链接样式

cssenable:本来想做一个默认的样式,但是感觉需要不大,所以这个属性暂时无用

pagesize:每页显示的数据条数

prenextvisable:上一页和下一页的显示,默认为显示

totalvisable:显示总数,默认为不显示,图上显示错误:共{0}笔

运行效果:

asp.net 分页-自己写分页控件

实现过程

重要代码解释,其他可以看注释

1:控件继承自control, ipostbackeventhandler

链接调用的为page.clientscript.getpostbackeventreference()方法,点击时进入raisepostbackevent

方法

raisepostbackevent

方法实现接口ipostbackeventhandler,在进入页面时进入调用onpagechanged()方法实现分页

2:pagechangedeventargs 类

定义为pagechanged的参数,可以把当前的页数,总数,每页显示数带到页面进行查询,也可以在页面设置这些属性,实现控件的显示

页面使用

拖入控件,设置好属性,把要实现的数据查询和绑定写在pagechanged里面,参数里面包含了分页的参数(当前页数,每页显示数)

进入页面地方使用

页面数据修改或删除后刷新当页

源码下载

以后还会对其进行修改和完善,也可以写一下类别配合其使用,这个控件没有与其他控件关联,也没用和数据库关联,可以自行对任意需要分页显示的控件进行分页。

继续阅读