没有合适的资源?快使用搜索试试~ 我知道了~
首页自定义ASP通用分页类:简化代码与提高可读性
本文档主要介绍了作者在使用ASP开发过程中对数据分页功能的困扰以及对其效率和可维护性的思考。作者意识到频繁编写冗长且复杂的分页代码不仅降低了程序的可读性,还增加了调试的难度。因此,他决定创建一个通用的ASP分页类,旨在解决这些问题。 该分页类的主要目标是: 1. 封装复杂分页逻辑:作者认识到不同项目中可能因变量名和参数变化导致的重复劳动,因此首要目标是将这个过程抽象成一个类,以便在多个项目中重用。 2. 自定义导航栏:除了数据分页,类还应包含自定义的导航条功能,允许用户根据需求调整页面展示方式,避免每次更改显示效果都需要修改类的内部结构。 3. 避免过度封装:作者意识到将数据显示部分也封装可能导致不必要的复杂性,用户可能需要灵活调整显示样式,因此他选择只对RecordSet进行基础操作的封装,保持代码的灵活性。 创建过程中的关键部分是一个名为`GetRs`的公共属性,它通过`ADODB.Recordset`对象实现了动态分页。这个属性首先创建一个新的`Recordset`实例,设置了页面大小(PageSize)并连接到数据库。然后,它根据传入的页数和当前页定位记录集,确保跳转到正确的页码,即使用户试图跳过超出范围的页。最后,返回处理后的`Recordset`实例,成为分页功能的核心。 通过这个通用分页类,作者希望提高代码的复用性和可维护性,减少程序员在处理分页任务时的繁琐工作。同时,类的设计考虑到了用户的定制需求,使得用户可以根据自己的项目需求轻松调整分页和导航功能,从而提升整体项目的开发效率和用户体验。
资源详情
资源推荐
创建一个创建一个ASP通用分页类通用分页类
从开始学习到使用ASP到现在也写了不少程序了,最令人头痛的是写数据分页,每次都是由于几个变量名或几个参数的不同,
因而需要每次都写哪一段冗长而又繁杂的分页代码,代码长了使得程序的可读性变差,容易出差,调试半天也找不出错在哪
里,所以慢慢的我开始使用一些网上的提供的分页函数或分页类。的确省事不少,但是通常的函数和类的做法都是就数据显示
部分也封装了起来,每次为了达到自己需要的显求效果要去改动函数或者类的本身,所以使用起来也不是怎么方便,自己写的
分页改起来已经够复杂了,更不要说别人的了。
所以趁昨天有空自己写了一个分页的类,自我感觉良好(不要用鸡蛋砸我),在这里和大家分享一下自己的经验(谈不上经
验,感想吧)。在这里我也不想说分页的原理了,反正大家都懂,要我往深入的谈我也不会。呵呵。
一、创建分页类的目标一、创建分页类的目标
在写之前,我曾想过,我究竟要写怎么样一个类,回想起以前写分页过程的时候,最烦的莫过于每次都要写哪一段复杂的分页
代码,最大的烦恼每次都是仅仅几个变量名的不同。所以第一个要实现的就是要把这个封装起来,第二个就是要把分页的导航
条也封装起来,第三个,不习惯哪些把数据显示部分也封装起来的方法,这不是方便编程,对与哪些对显示效果每次都不同的
用户来说,比自己写分页还要麻烦。所以我的目地就是对RecordSet进行一些简单的封装。
二、创建过程二、创建过程
所以我写的第一个属性,就是返一个经过处理的RecordSe
Public Property Get GetRs()
Set XD_Rs=Server.createobject(“adodb.recordset”)
XD_Rs.PageSize=PageSize
XD_Rs.Open XD_SQL,XD_Conn,1,1
If not(XD_Rs.eof and XD_RS.BOF) Then
If int_curpage>XD_RS.PageCount Then
int_curpage=XD_RS.PageCount
End If
XD_Rs.AbsolutePage=int_curpage
End If
Set GetRs=XD_RS
End Property
这个属性的作用是更据指定RecordSet 的当前面,并到指针指向当前页的第一条记录,这个应该就是整个类的完成分页的核心
了,当然,其中的一些参数是靠其它的属性来获取,所以这里顺便介绍一个这个类所要的基本参数
=============================================
‘GetConn 得到数据库连接
‘
‘=============================================
Public Property Let GetConn(obj_Conn)
Set XD_Conn=obj_Conn
End Property
‘=============================================
‘GetSQL 得到查询语句
‘
‘==============================================
Public Property Let GetSQL(str_sql)
XD_SQL=str_sql
End Property
‘===============================================
‘PageSize 属性
‘设置每一页的分页大小
‘===============================================
Public Property Let PageSize(int_PageSize)
If IsNumeric(Int_Pagesize) Then
XD_PageSize=CLng(int_PageSize)
Else
str_error=str_error & “PageSize的参数不正确”
ShowError()
End If
End Property
Public Property Get PageSize
If XD_PageSize=”” or (not(IsNumeric(XD_PageSize))) Then
PageSize=10
下载后可阅读完整内容,剩余3页未读,立即下载
weixin_38560502
- 粉丝: 6
- 资源: 925
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功