支持多风格变换的ASP分页类

zyl123456 2007-10-05 06:21:24
支持多风格变换的ASP分页类,谁告诉我这个类如何在页面中进行调用啊,类的代码如下:
<%
'******************************
'名称:分页类
'日期:2005/12/3
'作者:西楼冷月
'网址:www.xilou.net | www.chinaCMS.org
'描述:无
'版权:转载请注名出处,作者
'******************************
Class Page
Private CurrPage
Private PageN
Private UrlStr
Private TempStr
Private ErrInfo
Private IsErr
Private TotalRecord
Private TotalPage
Public PageRs

Private TempA(11)
Private TempB(8)
'------------------------------------------------------------
Private Sub Class_Initialize()
CurrPage=1'//默认显示当前页为第一页
PageN=10'//默认每页显示10条数据
UrlStr="#"
TempStr=""
ErrInfo="ErrInfo:"
IsErr=False
End Sub
Private Sub Class_Terminate()
If IsObject(PageRs) Then
PageRs.Close
Set PageRs=Nothing
End If
Erase TempA
Erase TempB
End Sub
'----------------------------------------------------------
'//获取当前页码
Public Property Let CurrentPage(Val)
CurrPage=Val
End Property
Public Property Get CurrentPage()
CurrentPage=CurrPage
End Property
'//获取每页显示条数
Public Property Let PageNum(Val)
PageN=Val
End Property
Public Property Get PageNum()
PageNum=PageN
End Property
'//获取URL
Public Property Let Url(Val)
UrlStr=Val
End Property
Public Property Get Url()
Url=UrlStr
End Property
'//获取模板
Public Property Let Temp(Val)
TempStr=Val
End Property
Public Property Get Temp()
Temp=TempStr
End Property
'------------------------------------------------------------

Public Sub Exec(Sql,ConnObj)
On Error Resume Next
Set PageRs=Server.CreateObject("ADODB.RecordSet")
PageRs.CursorLocation = 3 '使用客户端游标,可以使效率提高
PageRs.PageSize = PageN '定义分页记录集每页显示记录数
PageRs.Open Sql,ConnObj,0,1
If Err.Number<>0 Then
Err.Clear
PageRs.Close
Set PageRs=Nothing
ErrInfo=ErrInfo&"建立或打开记录集错误..."
IsErr=True
Response.Write ErrInfo
Response.End
End If
TotalRecord=PageRs.RecordCount'//如果为0呢?
If TotalRecord>=1 Then
'----------------------------------------------------------------------------开始
'//计算总页数,Ps,为什么不用PageRs.PageCount呢?
'If TotalRecord Mod PageN=0 Then
'TotalPage=PageRs.RecordCount\PageN
'Else
'TotalPage=PageRs.RecordCount\PageN
'TotalPage=Abs(Int(TotalPage))
'End If
TotalPage=PageRs.PageCount
'//处理当前接收页码,默认的为1,所以不是数字类型的都会为1
If IsNumeric(CurrPage) Then
CurrPage=CLNg(CurrPage)
If CurrPage<1 Then CurrPage=1
If CurrPage>TotalPage Then CurrPage=TotalPage
Else
'//Dim M:M="":IsNumeric(M)=True
CurrPage=1
End If
'---------------------------------------------------------------------------结束
Else
TotalPage=0
CurrPage=1
End If
'//
PageRs.AbsolutePage = CurrPage 'absolutepage:设置指针指向某页开头
PageRs.PageSize=PageN
End Sub
Private Sub Init()
'Private TempA(10)
TempA(1)="{N1}" '//首页
TempA(2)="{N2}"'//上一页
TempA(3)="{N3}"'//下一页
TempA(4)="{N4}"'//尾页
TempA(5)="{N5}"'//当前页码
TempA(6)="{N6}"'//页码总数
TempA(7)="{N7}"'//每页条数
TempA(8)="{N8}"'//文章总数
TempA(9)="{L}"'//循环标签开始
TempA(10)="{N}"'//循环内单标签:页码
TempA(11)="{L/}"'//循环标签结束
'Private TempB(8)
TempB(1)="首页"
TempB(2)="上一页"
TempB(3)="下一页"
TempB(4)="尾页"
TempB(5)=CurrPage'//当前页码
TempB(6)=TotalPage'//页码总数
TempB(7)=PageN'//每页条数
TempB(8)=TotalRecord'//文章总数
End Sub
Public Sub Show(Style)
If IsErr=True Then
Response.Write ErrInfo
Exit Sub
End If

Call Init()
Select Case Style
Case 1
Response.Write StyleA()
Case 2
Response.Write StyleB()
Case 3
Response.Write StyleC()
Case 4
Response.Write StyleD()
Case Else
ErrInfo=ErrInfo&"不存在当前样式..."
Response.Write ErrInfo
End Select
End Sub
Public Function ShowStyle(Style)
If IsErr=True Then
ShowStyle=ErrInfo
Exit Function
End If

Call Init()
Select Case Style
Case 1
ShowStyle= StyleA()
Case 2
ShowStyle= StyleB()
Case Else
ErrInfo=ErrInfo&"不存在当前样式..."
ShowStyle=ErrInfo
End Select
End Function

Private Function StyleA()
'首页 上一页 下一页 尾页 本页为第1/20页,共20页,每页10条,文章总数200条
'//分页样例:[首页] [上页] [下页] [尾页] [页次:4/5页] [共86篇 20篇/页] 转到:_ 页
'//标签:{N1} {N2} {N3} {N4} || 共:{N8}条记录 {N6}页 当前为第{N5}页 每页{N7}条
If IsEmpty(TempStr) Then
ErrInfo=ErrInfo&"模板为空..."
StyleB=ErrInfo
Exit Function
End If
Dim M
If TotalPage>1 Then
If CurrPage>1 Then
M="<a href='"&UrlStr&"Page=1'>"&"首页"&"</a>"
TempStr=Replace(TempStr,"{N1}",M)
M="<a href='"&UrlStr&"Page="&CurrPage-1&"'>"&"上一页"&"</a>"
TempStr=Replace(TempStr,"{N2}",M)
If CurrPage<TotalPage Then
M="<a href='"&UrlStr&"Page="&CurrPage+1&"'>"&"下一页"&"</a>"
TempStr=Replace(TempStr,"{N3}",M)
M="<a href='"&UrlStr&"Page="&TotalPage&"'>"&"尾页"&"</a>"
TempStr=Replace(TempStr,"{N4}",M)
Else
TempStr=Replace(TempStr,"{N3}","下一页")
TempStr=Replace(TempStr,"{N4}","尾页")
End If
Else
TempStr=Replace(TempStr,"{N1}","首页")
TempStr=Replace(TempStr,"{N2}","上一页")
M="<a href='"&UrlStr&"Page="&CurrPage+1&"'>"&"下一页"&"</a>"
TempStr=Replace(TempStr,"{N3}",M)
M="<a href='"&UrlStr&"Page="&TotalPage&"'>"&"尾页"&"</a>"
TempStr=Replace(TempStr,"{N4}",M)
End If
Else
TempStr=Replace(TempStr,"{N1}","首页")
TempStr=Replace(TempStr,"{N2}","上一页")
TempStr=Replace(TempStr,"{N3}","下一页")
TempStr=Replace(TempStr,"{N4}","尾页")
End If
T=TempStr
T=Replace(T,"{N8}",TotalRecord)
T=Replace(T,"{N6}",TotalPage)
T=Replace(T,"{N5}",CurrPage)
T=Replace(T,"{N7}",PageN)
TempStr=T
StyleA=TempStr
End Function

Private Function StyleB()
'首页 |< 1 2 3 4 5 6 7 >| 尾页
'//标签:{N1} {N2} {L}{N}{L/}{N3}{N4}
If IsEmpty(TempStr) Then
ErrInfo=ErrInfo&"模板为空..."
StyleB=ErrInfo
Exit Function
End If
Dim ForceNum,BackNum'//当前页的前面和后面显示个数
ForceNum=5
BackNum=4
Dim M
'//首页
M="<a href='"&UrlStr&"Page=1'>"&TempB(1)&"</a>"
TempStr=Replace(TempStr,"{N1}",M)
'//尾页
M="<a href='"&UrlStr&"Page="&TempB(6)&"'>"&TempB(4)&"</a>"
TempStr=Replace(TempStr,"{N4}",M)
'//前一页
M="|<"
If CurrPage-1>=1 Then
M="<a href='"&UrlStr&"Page="&CurrPage-1&"'>"&"|<"&"</a>"
End If
TempStr=Replace(TempStr,"{N2}",M)
'//后一页
M=">|"
If CurrPage+1<=TotalPage Then
M="<a href='"&UrlStr&"Page="&CurrPage+1&"'>"&">|"&"</a>"
End If
TempStr=Replace(TempStr,"{N3}",M)
'//取出循环标签
Dim N1,N2,N3,N4,N5,N6
If InStr(TempStr,"{L}")>0 Then
N1=InStr(TempStr,"{L}")
End If
If InStr(TempStr,"{L/}")>0 Then
N2=InStr(TempStr,"{L/}")
End If
If N2<=N1 Then
ErrInfo=ErrInfo&"循环标签出错..."
StyleB=ErrInfo
Exit Function
End If
N3=Mid(TempStr,N1,N2-N1+4)'//储存包括{L}{L/}循环标签的模板
N4=Replace(N3,"{L}","")'//储存不包括{L}{L/}循环标签的模板
N4=Replace(N4,"{L/}","")
'//页码列表
Dim FirstPageNum,LastPageNum
If CurrPage-ForceNum<=1 Then
FirstPageNum=1
PageList=""
Else
FirstPageNum=CurrPage-ForceNum
PageList="... ..."
End If
If CurrPage+BackNum>=TotalPage Then
LastPageNum=TotalPage
PageList_2=""
Else
LastPageNum=CurrPage+BackNum
PageList_2="... ..."
End If
Dim I
For I=FirstPageNum To LastPageNum
If I=CurrPage Then
N5=Replace(N4,"{N}","<b>"&I&"</b>")
N6=N6&N5
Else
M="<a href='"&UrlStr&"Page="&I&"'>"&I&"</a>"
N5=Replace(N4,"{N}",M)
N6=N6&N5
End If
Next
TempStr=Replace(TempStr,N3,N6)
StyleB=TempStr
End Function

Private Function StyleC()
'首页 |< |<< 1 2 3 4 5 6 7 >>| >| 尾页
'//此风格在StyleB的基础上修改,增加两个标签:{N9}上10页 {N10}下10页
'//标签:{N1}{N2}{N9}{L}{N}{L/}{N10}{N3}{N4}
Dim T
T=StyleB()
'//前十页
M="|<<"
If CurrPage-10>=1 Then
M="<a href='"&UrlStr&"Page="&CurrPage-10&"'>"&"|<<"&"</a>"
End If
T=Replace(T,"{N9}",M)
M=">>|"
If CurrPage+10<=TotalPage Then
M="<a href='"&UrlStr&"Page="&CurrPage+10&"'>"&">>|"&"</a>"
End If
T=Replace(T,"{N10}",M)
StyleC=T
End Function

Private Function StyleD()
'//此风格在StyleC的基础上修改
'//共{N8}条记录 {N6}页 当前为第{N5}页 每页{N7}条
'//首页 |< |<< 1 2 3 4 5 6 7 >>| >| 尾页
'//标签:{N1}{N2}{N9}{L}{N}{L/}{N10}{N3}{N4}
Dim T
T=StyleC()
T=Replace(T,"{N8}",TotalRecord)
T=Replace(T,"{N6}",TotalPage)
T=Replace(T,"{N5}",CurrPage)
T=Replace(T,"{N7}",PageN)
StyleD=T
End Function

End Class
%>
...全文
110 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyl123456 2007-10-06
  • 打赏
  • 举报
回复
谁知道这个在页面中如何调用啊,给个例子,谢谢
主要功能 1) 全静态支持 从首页、别网页(包括分页)一直到文章阅读页面,自动生成全静态HTML页面(使用ASP的FSO)。使网站资源消耗达到最小。栏目设置的更多自由选择,个性到你喊出来!!! 2) 无限级分,多级分并存 解决了添加文章有的时候需要二级分,有的时候需要更多级分的问题。文章、图片根据别ID分文件夹存放,包含空间查看程序,使图文添加、分、阅读、管理更自由、直观、方便。 3) 专题无限级分,多级分并存 同栏目分(免费版本不含此功能) 4) 模版管理 提供模版选择以及自定义。模版种包括: 1 首页模版、2 别模版、3 文章列表模版、4 具体文章模版。 每一个种的模版都可以添加无数种模版样式。模版添加、编辑、删除方便。 轻松实现同一网站不同风格。模版由模块拼装而成也可通过自由JS生成功能生成自定义JS。真正实现了模块、JS并存。模版设计、编辑、添加、保存灵活方便。 JS适用于对版面要求高的客户,自由设定版面样式。 对文章版面要求普通的客户,可以利用我们自带的模块轻松实现整站生成。 5) 文章自动内部链接生成 自动根据数据库内的文章名称产生内部链接,可直达响应专题,有效提高文章阅读率。(此功能常见于国内大型新闻网站) 6) 文章分页功能 通过插入特定分页代码实现长文章分页阅读。 7) 批量文章自动生成功能 可选择自动生成指定ID的文章或者别范围,重新生成指定文章。 8) 图片相关 文章内部任意位置插入任意图片。分为图片上传和添加图片URL两种添加图片方式。一篇文章内图片添加不限数量。 9) 自带用户管理模块 五级用户管理:普通用户、认证用户、栏目管理员、系统管理员、超级管理员。 10) 多样化的文章输入方式 文章输入支持HTML编辑、ubb代码、普通输入三种方式。 11) 文章标题颜色变换,采用ubb嵌入式,这个功能相信对大家来说非常实用 12) 自定义全能JS 可以实现图片文章个性化排列。 13) 加入广告管理系统,功能:支持所有广告格式的自定义广告大小;所有广告格式同时支持FLASH与普通图片显示;支持包括普通显示、满屏浮动显示、上下浮动显示-右、上下浮动显示-左、全屏幕渐隐消失、普通网页对话框、可移动透明对话框、打开新窗口、弹出新窗口、对联式广告等10种广告效果;支持限制广告投放次数、点击次数、过期日期;广告特效使用独立JS代码,可以缓存。加快第二次显示速度;可以直接生成JS文件,不占系统资源;安全性高!使用随机码登陆;支持自动生成广告显示JS代码;支持自动记录广告显示次数、点击次数;数据库防下载功能;支持重置统计功能;   功能太多,无法一一列出,请自己用户体会,有任何问题我们随时提供技术支持
80多个不常见的符号插件.mxp 80多个国家的一个下拉菜单.mxp addToFavoritesBH.mxp Adv HTML Edit.mxp Allaire为ColdFusion开发的插件.mxp ASP生成HTML 1.2.0修正版.mxp ASP生成HTML插件.mxp ASP图片随机显示插件.mxp ASP无组件文件上传插件2.0版本.mxp Atomz.com的搜索插件.mxp Banner交换系统插件.mxp Chromeless Windows.mxp Conversa Web CDK技术.mxp coolborder生成很Cool的表格边界.mxp disable_view_source.mxp Dreamweaver CS3 Spry 1.6插件更新包.mxp FCKeditor在线编辑器插件.mxp Flash效果文字插件.mxp IE4以上的转场效果.mxp IE标题栏的文字滚动插件.mxp insert_greeting.mxp jump menu插件.mxp Marquee.mxp Meta扩展插件.mxp MX183945_compare_fields.mxp MyComputer.com提供的一套站点访问跟踪系统插件.mxp Oblog 3.0 模板标记插件.mxp OLEDB连接插件.mxp PHP的include和require插件.mxp PHP格式化日期插件.mxp php和mysql连接的插件.mxp PHP检查表单插件.mxp PHP区域横向重复插件.mxp PureUpload2.09.mxp qqMailEditor.rar(Pic_Asp).rar qqMailEditor.rarphp(utf8).rar QueryBuilder.mxp Real播放器插件.mxp SinaEditor.rar UBBCode自动生成UBB插件.mxp Web Photo Album的command2.0版本.mxp YUI_TreeView.mxp 按照W3C的HTML4.01的语法测试HTML标准插件.mxp 表单验证插件.mxp 表格行颜色交替插件.mxp 层变换特效2.0.mxp 层动画效果插件.mxp 层或框架中调用URL文件插件.mxp 插入mtx、mtz格式等Viewpoint Media 3D文件插件.mxp 插入PHP代码插件.mxp 创建一个index页面插件.mxp 创建一个JustSo风格的相册插件.mxp 打字效果文字插件.mxp 单元格平均分布插件.mxp 弹出无边小窗口插件.mxp 弹出注释插件.mxp 导出EXEL格式插件.mxp 导出WORD插件.mxp 地址栏图标插件.mxp 调用CSS文件插件.mxp 动态替换CSS插件.mxp 多词搜索插件.mxp 二级下拉菜单插件.mxp 高级HTML编辑器2.01版.mxp 高级表单验证.mxp 高级弹出窗口插件.mxp 高级随机图片插件.mxp 高级显示区域插件.mxp 高级组合搜索插件.mxp 高亮显示搜索的关键字.mxp 格式化文本插件(维持段落不丢).mxp 根据背景控制表格尺寸插件.mxp 根据不同客户端加载不同CSS文件插件.mxp 固定层插件(二).mxp 固定层插件(一).mxp 关闭弹出窗口插件.mxp 滚动条效果插件.mxp 滚动条主题颜色管理器.mxp 很COOL的可变大小的层插件.mxp 横向数据重复的插件.mxp 换行显示搜索高亮度文本插件.mxp 记录集跳转菜单插件.mxp 检查新元素插件.mxp 检验控制组件插件.mxp 简约版高级分页插件.mxp 截取字符长度.mxp 酷酷的表格边框插件.mxp 连接到上一个页面连接插件.mxp 模板菜单扩展插件.mxp 区域横向重复.mxp 全屏窗口插件.mxp 日期选择(日历版)插件.mxp 删除数据弹出确认对话框.mxp 商用版分页插件.mxp 上下滚动区域插件.mxp 收藏夹图标插件.mxp 树形折叠插件.mxp 数学符号插件.mxp 搜索结果分页插件.mxp 随浏览器窗口变化背景图案插件.mxp 套常规通用的表单插件.mxp 条件式显示区域插件.mxp 同时删除多项记录.mxp 统计在线人数(UD)修正版.mxp 图片载入状态插件.mxp 图形计数器.mxp 文档元素树型显示插件.mxp 无组件ASP上传文件双字节文件名插件.mxp 显示IP对应地区插件.mxp 显示在线登录会员名单.mxp 限制文本框内字符长度插件.mxp 新闻点击数记录.mxp 新增14个框架组合插件.mxp 颜色渐变的文字.mxp 页面载入效果插件.mxp 隐藏替换无法显示图片插件.mxp 在线播放媒体插件.mxp 站点计数器插件.mxp 指定页面前进后退次数插件
用到的技术亮点: 前端用到了easyUI Easyui:jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。 jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。 jQuery EasyUI有以下特点: 1、基于jquery用户界面插件的集合 2、为一些当前用于交互的js应用提供必要的功能 3、EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel") 4、支持HTML5(通过data-options属性) 5、开发产品时可节省时间和资源 6、简单,但很强大 7、支持扩展,可根据自己的需求扩展控件 8、目前各项不足正以版本递增的方式不断完善 jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。 插件列表如下:(主要用到了以下插件) 系统主要运用在:在系统的关于订单管理和用户管理页面都使用的是此框架。主要用到的是 datagrid(数据网格)这个插件。以上有操作文档 前端用到了jQuery jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。 系统主要运用在:在系统中一些分页或者样式交互事件处理中使用到了(比如地址选择框) 前端用到了ajax AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。 系统主要运用在:主要运用于系统的表单验证比如登录注册验证码以及一些需要不刷新页面的异步提交页面(在车票查询,登录注册表单验证页面使用到了,还有是一些删除操作也使用到了) 前端页面使用的jsp(Java服务端网页(一种建立动态网页的技术,Java Server Page)) JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 系统主要运用在:本系统前端页面关于与后台交互的全部使用的jsp 后端使用的MVC三层架构模式 三层架构(3-tier ar

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧