说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Pager.asp"-->
<%
Dim Conn,ConnStr,Rs
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Db/Ok3w2009.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.RecordSet")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP分页演示</title>
</head>
<body>
<%
Sql = "select ID,Title from Ok3w_Article where IsPass=1 order by Id desc"
Set Page = New TurnPage
'调用说明:数据库连接对像Conn,记录集Rs,查询命令SQL,每页显示的条数PageSize
Call Page.GetRs(Conn,Rs,Sql,10)
Do While Not Rs.Eof And Not Page.Eof
%>
<a href="show.asp?id=<%=Rs("ID")%>"><%=Rs("Title")%></a><br />
<%
Rs.MoveNext
Loop
Rs.Close
%>
<hr />
<!--显示分页导航-->
<%Call Page.GetPageList()%>
</body>
</html>
<%
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
比起一般的分页,该分页类关键的就是二条语句:
初始化记录集:Call Page.GetRs(Conn,Rs,Sql,PageSize)
显示分页导航:Call Page.GetPageList()
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
说明:该ASP分页类由本人编写,把ASP默认分页进行了封装,力求让ASP分页操作简单一些。
注意:该ASP分页类只是简化了操作,并没有对分页进行优化。
代码:
===================Pager.asp===================
<%
'--------------------------------------------------------------------
'名称:ASP分页类 v2009
'
'作者:zhengbi(QQ:124895502 Email:zhengbi888@yahoo.com.cn)
'
'仅供参考,你可以任意修改、传播;如果你对它进行了改良,希望你能给我一个
'副本,谢谢。
'--------------------------------------------------------------------
Class TurnPage
Dim sPageNo,sPageSize,sPageCount,sRecordCount,sAbsoluteRecord
Private Sub Class_Initialize()
sPageNo=Trim(Request.QueryString("PageNo"))
If sPageNo<>"" Then
sPageNo = Cdbl(sPageNo)
Else
sPageNo = 1
End If
sAbsoluteRecord = 1
End Sub
Public Sub GetRs(ByRef Conn,ByRef Rs,ByVal Sql,ByVal PageSize)
Rs.Open Sql,Conn,1,1
Rs.PageSize = PageSize
sPageSize = Rs.PageSize
sPageCount = Rs.PageCount
sRecordCount = Rs.RecordCount
If Not Rs.Eof Then Rs.AbsolutePage = sPageNo
End Sub
Public Function Eof()
If sAbsoluteRecord<=sPageSize Then
sAbsoluteRecord = sAbsoluteRecord + 1
Eof = False
Else
Eof = True
End If
End Function
Public Sub GetPageList()
Dim sURL,sTmp,sQUERY_STRING,p,n,i,a,b
sURL = Request.ServerVariables("URL")
sQUERY_STRING = Request.ServerVariables("QUERY_STRING")
sTmp = Split(sURL,"/")
sURL = sTmp(Ubound(sTmp))
If sQUERY_STRING <> "" Then sQUERY_STRING=Replace(sQUERY_STRING,"PageNo=" & sPageNo,"")
If sQUERY_STRING = "" Then
sURL = sURL & "?"
Else
sURL = sURL & "?" & sQUERY_STRING & "&"
End If
sURL = Replace(sURL,"&&","&")
p = sPageNo-1
n = sPageNo+1
If p<1 Then p = 1
If n>sPageCount Then n = sPageCount
a = sPageNo-5
b = sPageNo+5
If a<1 Then a = 1
If b>sPageCount Then b = sPageCount
Response.Write("<div class=""page_nav"">")
If sPageNo>1 Then Response.Write("<a href=""" & sURL & "PageNo=1"">首页</a> <a href=""" & sURL &"PageNo=" & p & """>上页</a>")
For i=a To b
If i = sPageNo Then
Response.Write( " " & i)
Else
Response.Write(" <a href=""" & sURL & "PageNo=" & i & """>[" & i & "]</a>")
End If
Next
If sPageNo < sPageCount Then Response.Write(" <a href=""" & sURL & "PageNo=" & n & """>下页</a> <a href=""" & sURL & "PageNo=" & sPageCount & """>尾页</a>")
Response.Write("</div>")
End Sub
End Class
%>
====================演示文件text.asp====================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Pager.asp"-->
<%
Dim Conn,ConnStr,Rs
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Db/Ok3w2009.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.RecordSet")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP分页演示</title>
</head>
<body>
<%
Sql = "select ID,Title from Ok3w_Article where IsPass=1 order by Id desc"
Set Page = New TurnPage
'调用说明:数据库连接对像Conn,记录集Rs,查询命令SQL,每页显示的条数PageSize
Call Page.GetRs(Conn,Rs,Sql,10)
Do While Not Rs.Eof And Not Page.Eof
%>
<a href="show.asp?id=<%=Rs("ID")%>"><%=Rs("Title")%></a><br />
<%
Rs.MoveNext
Loop
Rs.Close
%>
<hr />
<!--显示分页导航-->
<%Call Page.GetPageList()%>
</body>
</html>
<%
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
比起一般的分页,该分页类关键的就是二条语句:
初始化记录集:Call Page.GetRs(Conn,Rs,Sql,PageSize)
显示分页导航:Call Page.GetPageList()
作者:admin@我们生活的年代
地址:http://www.1598.net/read.php/62.htm
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!
白开水
2009/06/17 17:44
为什么我用了你的分页函数,怎么会出现重复的记录,望高人指点以下
分页: 1/1
1
1



asp的超强分页类 比传
斯巴达克bi500(捷波

