Asp.net中虽然用DataPager配合ListView可以实现分页显示,但是有时候由于开发环境等问题不能用到DataPager控件,那么自己手工写一个分页控件就很有必要了,当然,最重要的是通用性。
首先,来看一下我的分页控件的显示效果:
简单说明:红底色的为当前页,白底红字的是选择新的页,共有1236页,默认从第1页开始显示,分页行长度含“……”共11格,有全显示,单边省略和两边省略三种模式。
当你仔细看完上图的显示效果并理解其分页的相应变化后,我们就要开始制作这个分页了:)
第一步)获取数据结果集,整理分页SQL
首先,你肯定会由一句SQL语句或者一个存储过程来获取动态的结果集,我们这里用SQL语句来举例:
select * from Table order by a1,a2
【重要提示】你必须要对其order by中所用到的字段建立索引,否则会大幅影响其SQL语句的效能
然后,我们用分页效能最高的row_number()over写出这句分页SQL
select * from(select row_number() over(order bya1,a2) rownofrom Table) twhere rowno between @rowno1 and @rowno2
第二步)设计分页控件的样式
我们先在页面上用HTML+CSS做出一个模拟效果的分页:
上一页
1
2