如何用ASP语言设计通用分页
自己写的通用分页,可设置显示的分页链接数,带下拉选择:
1<%2'Written by Shaoyun 20:17 2008年5月29日 0:383'Email:shaoyun at yeah.net4'Blog:http://shaoyun.cnblogs.com5'分页函数:splitpage(记录总数,每页显示记录数,显示几条分页链接)6Function splitpage(rscount,pagesize,shownum)78Dim pagenum,curpage,first_page,last_page,up_page,down_page,idx,addr_url,splitpage_html910addr_url=Request.ServerVariables("URL")11addr_url=Mid(addr_url,InstrRev(addr_url,"/")+1)12addr_url=addr_url & "?page="1314if (rscount mod pagesize)=0 then15 pagenum=rscount/pagesize16else17 pagenum=rscount/pagesize+118end if19first_page=120last_page=pagenum2122curpage=123if isnumeric(trim(request.QueryString("page"))) then24 curpage=trim(request.QueryString("page"))25 if pagenum-curpage<0 then curpage=pagenum26else27 curpage=128end if2930up_page=curpage-131down_page=curpage+13233splitpage_html="共$rscount$条记录 $pagesize$条/页 第$curpage$/$pagenum$页 "34splitpage_html=replace(splitpage_html,"$rscount$",rscount)35splitpage_html=replace(splitpage_html,"$pagesize$",pagesize)36splitpage_html=replace(splitpage_html,"$curpage$",curpage)37splitpage_html=replace(splitpage_html,"$pagenum$",pagenum)3839splitpage_html=splitpage_html & "<a href='" & addr_url & first_page & "'>首页</a> "40if curpage>1 then41 splitpage_html=splitpage_html & "<a href='" & addr_url & up_page & "'>上一页</a> "42else43 splitpage_html=splitpage_html & "上一页 "44end if4546dim fbegin,fend47if shownum mod 2 then48 show_front_num=int(shownum/2)49 show_back_num=int(shownum/2)50else51 show_front_num=int(shownum/2)-152 show_back_num=int(shownum/2)53end if54if curpage-1<show_front_num then55 fbegin=156 fend=shownum57elseif curpage+show_back_num>pagenum then58 fend=pagenum59 fbegin=pagenum-shownum+160else61 fbegin=curpage-show_front_num62 fend=curpage+show_back_num63end if64for idx=fbegin to fend65 if curpage-idx=0 then66 splitpage_html=splitpage_html & "<b>" & idx & "</b> "67 else68 splitpage_html=splitpage_html & "<a href='" & addr_url & idx & "'>" & idx & "</a> "69 end if70next7172if pagenum-curpage>0 then73 splitpage_html=splitpage_html & "<a href='" & addr_url & down_page & "'>下一页</a> "74else75 splitpage_html=splitpage_html & "下一页 "76end if77splitpage_html=splitpage_html & "<a href='" & addr_url & last_page & "'>尾页</a> "7879splitpage_html=splitpage_html & "跳转到 "80splitpage_html=splitpage_html & "<select onChange=window.location.href=this.options[this.selectedIndex].value>"81For idx=1 To pagenum82 If curpage-idx=0 Then83 splitpage_html=splitpage_html & "<option value='" & addr_url & idx & "' selected>第" & idx & "页</option>"84 Else85 splitpage_html=splitpage_html & "<option value='" & addr_url & idx & "'>第" & idx & "页</option>"86 End if87Next88splitpage_html=splitpage_html & "</select>"8990response.Write splitpage_html9192End Function93%>