asp 文章分页类
<%
Class Cls_Page
'**************************************************
'函数名:ShowPage
'作 用:显示分页
'参 数:如下
'strFileName : ?后面的文件,如xxx.asp?page=
'xTotalNum : 总数
'xPageCount : 总页数
'xMaxPerPage : 每页显示数量
'xCurrentPage : 当前页数
'xPageName : 当前页面名
'xUnitName : 分类单位名称,如"篇,条,幅"
'xShowStyle : 显示分页的样式
'返回值:分页
'**************************************************
Public Function ShowPage
(strFileName,xTotalNum,xPageCount,xMaxPerPage,xCurrentPage,xPageName,xUnitNa
me,xShowStyle)
strUrl = ClsMain.JoinChar(strFileName)
Dim i,PageStr
If xTotalNum > 0 Then
If xPageCount >= 1 Then
Select Case xShowStyle
Case "1" '分页样式1:列出所有
页码的页号,页码较少时可以使用
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
For i=1 To xPageCount
If i = xCurrentPage
Then
PageStr =
PageStr & " [<a class=""CurrentPage""><font color='red'>" & i &
"</font></a>]"
Else
PageStr =
PageStr & " [<a href=""" & strUrl & "Page=" & i & """
class=""GoToPage"">" & i & "</a>]"
End If
Next
PageStr = PageStr &
"</div>"&vbcrlf
Case "2" '分页样式2:显示首页
、上一页、下一页、末页,均为符号和转到页的输入框
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
If xCurrentPage > 1 Then
PageStr = PageStr &
" <a href=""" & strUrl & "Page=1"" title=""首页""
class=""FirstPage"">|‹</a>"
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xCurrentPage - 1 & """ title=""上一
页"" class=""PrevPage"">«</a>"
Else
PageStr = PageStr &
" <a class=""FirstPage"">|‹</a>"
PageStr = PageStr &
" <a class=""PrevPage"">«</a>"
End If
If xCurrentPage < xPageCount
Then
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xCurrentPage + 1 & """ title=""下一
页"" class=""NextPage"">»</a>"
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xPageCount & """ title=""末页""
class=""LastPage"">›|</a>"&vbcrlf
Else
PageStr = PageStr &
" <a class=""NextPage"">»</a>"
PageStr = PageStr &
" <a class=""LastPage"">›|</a>"&vbcrlf
End If
PageStr = PageStr & "
<input id=""page"" type=""text"" value=""" & xCurrentPage & """
maxlength=""4"" title=""定页"" size='4' onmouseover=""javascript:this.focus
();this.select()"" onKeyDown=""javascript: if(window.event.keyCode == 13)
window.location.href='" & strUrl & "page='+this.value"">"&vbcrlf
PageStr = PageStr & "
<input type=""button"" value=""Go"" onclick=""javascript:if
(document.getElementById('page')) window.location.href='" & strUrl &
"Page='+document.getElementById('page').value"">"&vbcrlf
PageStr = PageStr &
"</div>"&vbcrlf
Case "3" '分页样式3:显示首页
、上十页、下十页、尾页以及中间一段页码
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
p = (xCurrentPage - 1) 10
If xCurrentPage = 1 Then
PageStr = PageStr &
" <a class=""FirstPage"">|‹</a>"
Else
PageStr = PageStr &
" <a href=""" & strUrl & "Page=1"" title=""首页""
class=""FirstPage"">|‹</a>"
End If
If p * 10 > 0 Then
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xCurrentPage - 10 & """ title=""上十
页"" class=""PrevPage"">«</a>"
End If
For i=(p * 10 + 1) To (p *
10 + 10)
If i = xCurrentPage
Then
PageStr =
PageStr & " [<font color='red'><a class=""CurrentPage"">" & i &
"</a></font>]"
Else
PageStr =
PageStr & " <a href=""" & strUrl & "Page=" & i & """ title=""转到第" &
i & "页"" class=""GoToPage"">" & i & "</a>"
End If
If i = xPageCount
Then Exit For
Next
If i < xPageCount Then
PageStr = PageStr & " <a href=""" & strUrl & "Page=" & i & """ title=""
下十页"" class=""NextPage"">»</a>"
If xCurrentPage = xPageCount
Then
PageStr = PageStr &
" <a class=""LastPage"">›|</a>"
Else
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xPageCount & """ title=""末页""
class=""LastPage"">›|</a>"
End If
PageStr = PageStr &
"</div>"&vbcrlf
Case "4" '分页样式4:显示首页
和尾页的页码、中间显示一部分页码
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
If xCurrentPage > 4 Then
PageStr = PageStr & " [<a href=""" & strUrl & "Page=1""
class=""FirstPage"">1</a>] ... "
If xCurrentPage < PageCount
- 3 Then PageTo = xCurrentPage + 3 Else PageTo = xPageCount
For i=xCurrentPage - 3 To
PageTo
If i >= 1 Then
If i =
xCurrentPage Then
PageStr = PageStr & " [<font color='red'><a class=""CurrentPage"">" &
i & "</a></font>]"
Else
PageStr = PageStr & " [<a href=""" & strUrl & "page=" & i & """
class=""GoToPage"">" & i & "</a>]"
End If
End If
Next
If xCurrentPage < xPageCount
- 3 Then PageStr = PageStr & " ... <a href=""" & strUrl & "Page="
& xPageCount & """ class=""LastPage"">" & xPageCount & "</a>"
PageStr = PageStr &
"</div>"&vbcrlf
Case "5" '分页样式5:显示首页
、上一页、下一页、末页,均为汉字和转到页的选择列表
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
If xCurrentPage > 1 Then
PageStr = PageStr &
" <a href=""" & strUrl & "MaxPerPage=" & xMaxPerPage & "&Page=1""
title=""首页"" class=""FirstPage"">首页</a>"
PageStr = PageStr &
" <a href=""" & strUrl & "MaxPerPage=" & xMaxPerPage & "&Page=" &
xCurrentPage - 1 & """ title=""上一页"" class=""FirstPage"">上一页</a>"
Else
PageStr = PageStr &
" <font color='#999999'><a class=""FirstPage"">首页</a></font>"
PageStr = PageStr &
" <font color='#999999'><a class=""PrevPage"">上一页</a></font>"
End If
If xCurrentPage < xPageCount
Then
PageStr = PageStr &
" <a href=""" & strUrl & "MaxPerPage=" & xMaxPerPage & "&Page=" &
xCurrentPage + 1 & """ title=""下一页"" class=""NextPage"">下一页</a>"
PageStr = PageStr &
" <a href=""" & strUrl & "MaxPerPage=" & xMaxPerPage & "&Page=" &
xPageCount & """ title=""末页"" class=""LastPage"">末页</a>"&vbcrlf
Else
PageStr = PageStr &
" <font color='#999999'><a class=""NextPage"">下一页</a></font>"
PageStr = PageStr &
" <font color='#999999'><a class=""LastPage"">末页</a></font>"
End If
PageStr = PageStr &
" <input type=""text"" size='4' name=""MaxPerPage"" maxlength=""2""
value=""" & xMaxPerPage & """ onKeyPress=""if (event.keyCode==13)
window.location.href='" & strUrl & "MaxPerPage='+this.value;""> " &
xUnitName & "/页"&vbcrlf
PageStr = PageStr & "
转到:<select id=""page"" class=""PageSelect""
onchange=""window.location.href='" & strUrl & "MaxPerPage=" & xMaxPerPage &
"&Page='+this.options[this.selectedIndex].value"">"&vbcrlf
For i=1 To xPageCount
PageStr = PageStr &
" <option value=""" & i & """"
If i = xCurrentPage
Then PageStr = PageStr & " selected"
PageStr = PageStr &
">第" & i & "页</option>"&vbcrlf
Next
PageStr = PageStr & "
</select>"&vbcrlf
PageStr = PageStr &
"</div>"&vbcrlf
Case "6" '分页样式5:显示首页
、上一页、下一页、末页,数字页和转向文本框
PageStr = PageStr & "<div
id=""ShowPage"">"
PageStr = PageStr & "<a
class=""TotalPage"">全部"&xPageName&":<b>" & xTotalNum &"</b>" & xUnitName
& "</a>"
PageStr = PageStr &
" <a class=""PageInfo"">页次:<b>" & xCurrentPage & "/" & xPageCount &
"</b></a>"
PageStr = PageStr &
" <a class=""TotalPage"">"&xMaxPerPage&xUnitName&"/页</a>"
p = (xCurrentPage - 1) 10
If xCurrentPage = 1 Then
PageStr = PageStr &
" <a class=""FirstPage"">|‹</a>"
Else
PageStr = PageStr &
" <a href=""" & strUrl & "Page=1"" title=""首页""
class=""FirstPage"">|‹</a>"
End If
If p * 10 > 0 Then
PageStr = PageStr &
" <a href=""" & strUrl & "Page=" & xCurrentPage - 10 & """ title=""上十
页"" class=""PrevPage"">«</a>"
End If
For i=(p * 10 + 1) To (p *
10 + 10)
If i = xCurrentPage
Then
PageStr =
PageStr & " [<font color='red'><a class=""CurrentPage"">" & i &
"</a></font>]"
Else
PageStr =
PageStr & " [<a href=""" & strUrl & "Page=" & i & """ title=""转到第" &
i & "页"" class=""GoToPage"">" & i & "</a>]"
End If
If i = xPageCount
Then Exit For
Next
If i < xPageCount Then
PageStr = PageStr & " <a href=""" & strUrl & "Page=" & i & """ title=""
下十页"" class=""NextPage"">»</a>"
If xCurrentPage = xPageCount
Then
PageStr = PageStr &
" <a class=""LastPage"">›|</a>"&vbcrlf
Else
PageStr = PageStr &
" [<a href=""" & strUrl & "Page=" & xPageCount & """ title=""末页""
class=""LastPage"">›|</a>]"&vbcrlf
End If
PageStr = PageStr & "
转到:<input id=""page"" size='4' type=""text"" value=""" & xCurrentPage &
""" maxlength=""4"" title=""定页"" onmouseover=""javascript:this.focus
();this.select()"" onKeyDown=""javascript: if(window.event.keyCode == 13)
window.location.href='" & strUrl & "Page='+this.value"">页"&vbcrlf
PageStr = PageStr &
"</div>"&vbcrlf
End Select
End If
Else
PageStr = " "&vbcrlf
End If
ShowPage = PageStr
End Function
End Class
%>