[原创]ASP分页效果源代码
在做一个搜索引擎的时候,自己弄的一个搜索结果分页显示,测试通过了,大家可以任意修改使用,希望对大家有用,有意见或更好办法的朋友要跟帖啊。
效果:

将下面代码存为page.asp即可:
----------------------------------------------------------------------------
<title>分页效果</title>
<style type="text/css">
a{color:#00c;font-size:12px;text-decoration:none}
b{font-size:12px}
</style>
<center>
<%
dim page,pcount
IF not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Then '验证
page=1
Else
page=Int(Abs(Request("page")))
End if
pcount=131 '假设共有131页
'pcount=rs.pagecount '如果到了使用数据库的时候就要用这个啦
'以上部分根据情况而定,具体看说明,不清楚的可以留言
if page>pcount then Response.redirect("page.asp?&page="&pcount&"") '这个可以防止别人恶意将page的值输入比total大
dim pnum,ptotal,pid,papart
pnum=15 '限制总共显示几页。建议使用奇数
ptotal=1 '用于计数
papart=int(pnum/2) '计算结果是显示页数的一半
pid=page-papart
if pid+papart <= papart then pid=1 '当在第一页时,保持页面能够有15页,如果总数有大于15
if pid+papart*2 >= pcount and pcount>pnum then pid=pcount-papart*2 '当达到最后一页时,保持页面能够有15页,如果总数有大于15
do while pid<=pcount and ptotal<=pnum
if pid=page then
response.Write("<b style=color:#c03>"&pid&"</b>") &vbNewline
else
response.Write("<a href='page.asp?page="&pid&"' style=""text-decoration:underline"">"&pid&"</a>") &vbNewline
end if
pid=pid+1
ptotal=ptotal+1
loop
response.Write("<br>")
if page>1 then
response.Write("<a href=""page.asp?page=1"">首页</a> <a href=""page.asp?page="&page-1&""">上一页</a>") &vbNewline
else
response.Write("<a style=""text-decoration:line-through"">首页 上一页</a>") &vbNewline
end if
response.Write("<a>第"&page&"/"&pcount&"页</a>") &vbNewline
if page<pcount then
response.Write("<a href=""page.asp?page="&page+1&""">下一页</a> <a href=""page.asp?page="&pcount&""">尾页</a>") &vbNewline
else
response.Write("<a style=""text-decoration:line-through"">下一页 尾页</a>") &vbNewline
end if
%>
</center>
----------------------------------------------------------------------------
效果:

将下面代码存为page.asp即可:
----------------------------------------------------------------------------
<title>分页效果</title>
<style type="text/css">
a{color:#00c;font-size:12px;text-decoration:none}
b{font-size:12px}
</style>
<center>
<%
dim page,pcount
IF not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Then '验证
page=1
Else
page=Int(Abs(Request("page")))
End if
pcount=131 '假设共有131页
'pcount=rs.pagecount '如果到了使用数据库的时候就要用这个啦
'以上部分根据情况而定,具体看说明,不清楚的可以留言
if page>pcount then Response.redirect("page.asp?&page="&pcount&"") '这个可以防止别人恶意将page的值输入比total大
dim pnum,ptotal,pid,papart
pnum=15 '限制总共显示几页。建议使用奇数
ptotal=1 '用于计数
papart=int(pnum/2) '计算结果是显示页数的一半
pid=page-papart
if pid+papart <= papart then pid=1 '当在第一页时,保持页面能够有15页,如果总数有大于15
if pid+papart*2 >= pcount and pcount>pnum then pid=pcount-papart*2 '当达到最后一页时,保持页面能够有15页,如果总数有大于15
do while pid<=pcount and ptotal<=pnum
if pid=page then
response.Write("<b style=color:#c03>"&pid&"</b>") &vbNewline
else
response.Write("<a href='page.asp?page="&pid&"' style=""text-decoration:underline"">"&pid&"</a>") &vbNewline
end if
pid=pid+1
ptotal=ptotal+1
loop
response.Write("<br>")
if page>1 then
response.Write("<a href=""page.asp?page=1"">首页</a> <a href=""page.asp?page="&page-1&""">上一页</a>") &vbNewline
else
response.Write("<a style=""text-decoration:line-through"">首页 上一页</a>") &vbNewline
end if
response.Write("<a>第"&page&"/"&pcount&"页</a>") &vbNewline
if page<pcount then
response.Write("<a href=""page.asp?page="&page+1&""">下一页</a> <a href=""page.asp?page="&pcount&""">尾页</a>") &vbNewline
else
response.Write("<a style=""text-decoration:line-through"">下一页 尾页</a>") &vbNewline
end if
%>
</center>
----------------------------------------------------------------------------
评论内容
·{CommentAuthor} | {CommentUrl} {CommentTime}
{CommentContent}