2010年04月03日 12:02
函数代码:
<%
'分页导航
Function showPageNav(a,b,c,d,e,f,g)
'用法:
'showPageNav(当前页,共有几页,链接参数,指定页数的地址
'栏变量,显示几个链接,中数,当前页文字背景颜色)
if b>1 then
url="?"&c&"&"&d&"="
'首页、上一页
if a<>1 then
w("<a href='"&url&"1'>首页</a> ")
en=url&cstr(a-1)
w("<a href='"&en&"'>上一页</a> ")
end if
if a<=f then
'情况一:当前页在前f页
'首页 1 2 3 4 5 [6] 7 8 9 10 尾页
for i=1 to e
if i>b then exit for
en=url&cstr(i)
if i=a then
w("<font color='#FFFFFF' style='background-color:"&g&"'> "&cstr(i)&" </font> ") '当前页加上背景色
else
w("<a href='"&en&"'> "&cstr(i)&" </a> ")
end if
next
elseif a>b-f then
'情况二:当前页在后f页
'首页 69 70 71 72 73 74 75 [76] 77 78 尾页
j=b+1-e
if j<0 then j=1
for i=j to b
en=url&cstr(i)
if i=a then
w("<font color='#FFFFFF' style='background-color:"&g&"'> "&cstr(i)&" </font> ") '当前页加上背景色
else
w("<a href='"&en&"'> "&cstr(i)&" </a> ")
end if
next
else
'情况三:当前页在中间
'首页 31 32 33 34 [35] 36 37 38 39 40 尾页
j=a-f
for i=j to j+e-1
en=url&cstr(i)
if i=a then
w("<font color='#FFFFFF' style='background-color:"&g&"'> "&cstr(i)&" </font> ") '当前页加上背景色
else
w("<a href='"&en&"'> "&cstr(i)&" </a> ")
end if
next
end if
'下一页、尾页
if a<>b then
en=url&cstr(a+1)
w("<a href='"&en&"'>下一页</a> ")
en=url&cstr(b)
w("<a href='"&en&"'>尾页</a> ")
end if
else
w(" ")
end if
End Function
'Response.Write的缩写
Sub w(s)
Response.Write(s)
End Sub
%>
使用方法:
在需要显示分页链接的地方插入ASP代码块调用函数:
<%call showPageNav(3,20,"e=f","p",10,6,"#993300")%>
这些参数的意思是:
3表示当前页是第三页
20表示共有20页
10表示显示10个链接
6表示中间的数。
比如:
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 1 2 3 4 5 6 7 8 9 10 尾页
首页 2 3 4 5 6 7 8 9 10 11 尾页
首页 3 4 5 6 7 8 9 10 11 12 尾页
超过6后,滚动条后移。
"#993300"表示当前页的背景颜色。
比如:
首页 3 4 5 6 7 8 9 10 11 12 尾页
"e=f"附加在url后的url变量
"p"表示指定当前页的url变量为p
比如:
e.asp?e=f&p=4