[此贴子已经被作者于2005-6-17 17:11:28编辑过]
我很菜,但我很努力!
<% function JoinChar(strUrl) if strUrl="" then JoinChar="" exit function end if if InStr(strUrl,"?")<len(strUrl) then if InStr(strUrl,"?")>1 then if InStr(strUrl,"&")<len(strUrl) then JoinChar=strUrl & "&" else JoinChar=strUrl end if else JoinChar=strUrl & "?" end if else JoinChar=strUrl end if end function
sub showpage(sfilename,totalnumber,maxperpage,ShowTotal,ShowAllPages,strUnit) if totalnumber>0 then dim n, i,strTemp,strUrl if totalnumber mod maxperpage=0 then n= totalnumber \ maxperpage else n= totalnumber \ maxperpage+1 end if strTemp=strTemp & "共 <font color=blue><b>" & totalnumber & "</b></font> " & strUnit & " " strUrl=JoinChar(sfilename) if PageNo<2 then strTemp=strTemp & "首页 上一页 " else strTemp=strTemp & "<a href='" & strUrl & "PageNo=1'>首页</a> " strTemp=strTemp & "<a href='" & strUrl & "PageNo=" & (PageNo-1) & "'>上一页</a> " end if
if n-PageNo<1 then strTemp=strTemp & "下一页 尾页" else strTemp=strTemp & "<a href='" & strUrl & "PageNo=" & (PageNo+1) & "'>下一页</a> " strTemp=strTemp & "<a href='" & strUrl & "PageNo=" & n & "'>尾页</a>" end if strTemp=strTemp & " 页次:<strong><font color=red>" & PageNo & "</font>/" & n & "</strong>页 " strTemp=strTemp & " <b>" & maxperpage & "</b>" & strUnit & "/页" if ShowAllPages=True then strTemp=strTemp & " 转到:<select name='page' size='1' onchange=""javascript:window.location='" & strUrl & "PageNo=" & "'+this.options[this.selectedIndex].value;"">" for i = 1 to n strTemp=strTemp & "<option value='" & i & "'" if cint(PageNo)=cint(i) then strTemp=strTemp & " selected " strTemp=strTemp & ">第" & i & "页</option>" next strTemp=strTemp & "</select>" end if response.write strTemp end if end sub %> <% call showpage(url,rs.RECORDCOUNT,maxperpage,false,true,"条主题") %>
盗别人的分页,直接拿来用了[此贴子已经被作者于2005-6-18 0:42:03编辑过]
把一下的文件保存为asp页以后用调用就可以了 这是一个专业的asp分页程序 <%
'*********************************************** '函数名:PasteURL '作 用:向地址中加入 ? 或 & '参 数:strUrl ----网址 '返回值:加了 ? 或 & 的网址 '*********************************************** function PasteURL(strUrl) if strUrl="" then PasteURL="" exit function end if '如果传入的URL末尾不是"?",有两种情况: '1.无“?”,此时需加入一个“?” '2. 有“?”再判断有无“&” if InStr(strUrl,"?")<len(strUrl) then if InStr(strUrl,"?")>1 then if InStr(strUrl,"&")<len(strUrl) then PasteURL=strUrl & "&" else PasteURL=strUrl end if else PasteURL=strUrl & "?" end if else PasteURL=strUrl end if end function
'*********************************************** '过程名:ShowPage '作 用:显示“上一页 下一页”等信息 '参 数:sDesURL ----链接地址,可以是一个文件名,也可以是一个有一些参数所URL ' nTotalNumber ----总数量 ' nMaxPerPage ----每页数量 ' nCurrentPage ----当前页 ' bShowTotal ----是否显示总数量 ' bShowCombo ---是否用下拉列表显示所有页面以供跳转。有某些页面不能使用,否则会出现JS错误。 ' sUnit ----计数单位 '*********************************************** sub ShowPage(sDesURL, nTotalNumber, nMaxPerPage, nCurrentPage, bShowTotal, bShowCombo, sUnit) dim n, i,strTemp,strUrl '计算页数 if nTotalNumber mod nMaxPerPage=0 then n= nTotalNumber \ nMaxPerPage else n= nTotalNumber \ nMaxPerPage+1 end if '判断nCurrentPage if nCurrentPage < 1 then nCurrentPage = 1 elseif nCurrentPage > n then nCurrentPage = n end if Response.Write "<table align='center' ID='Table1'><form name='ShowPages' method='Post' action='" & sDesURL & "' ID='Form1'><tr><td>" if bShowTotal=true then Response.Write "共 <b>" & nTotalNumber & "</b> " & sUnit & " " end if '根据输入的sDesURL向它加入?或& strUrl=PasteURL(sDesURL) if nCurrentPage<2 then Response.Write "首页 上一页 " else Response.Write "<a href='" & strUrl & "page=1'>首页</a> " Response.Write "<a href='" & strUrl & "page=" & (nCurrentPage-1) & "'>上一页</a> " end if
if n-nCurrentPage<1 then Response.Write "下一页 尾页" else Response.Write "<a href='" & strUrl & "page=" & (nCurrentPage+1) & "'>下一页</a> " Response.Write "<a href='" & strUrl & "page=" & n & "'>尾页</a>" end if Response.Write " 页次:<strong><font color=red>" & nCurrentPage & "</font>/" & n & "</strong>页 " Response.Write " <b>" & nMaxPerPage & "</b>" & sUnit & "/页" if bShowCombo=True then Response.Write " 转到:<SELECT name='page' size='1' onchange='javascript:submit()' ID='Select1'>" for i = 1 to n Response.Write "<option value='" & i & "'" if cint(nCurrentPage)=cint(i) then Response.Write " selected " Response.Write ">第" & i & "页</option>" next Response.Write "</SELECT>" end if Response.Write "</td></tr></form></table>" end sub %>