asp数字分页效果代码
来源:
中文源码网 浏览:341 次 日期:2024-05-06 08:36:31
【下载文档: asp数字分页效果代码.txt 】
ASP 数字分页效果代码
最近网站改版正好发现原来的分页不带数字的,只有首页 上页 下页 末页 然后是select的跳转,都是以前比较流行的,而现在比较流行的是数字分页在中间,正好研究并分享下,需要的朋友可以参考下效果:
国外的核心代码:
复制代码 代码如下:<% 'digg style pagination script in asp.. written by Moazam... http://www.moazam.com/2007/03/30/asp-digg-style-pagination-script/ function getPaginationString(page, totalitems, limit, adjacents, targetpage) 'defaults if not isnumeric(adjacents) then adjacents = 1 end if if not isnumeric(limit) then limit = 15 end if if not isnumeric(page) then page = 1 end if if targetpage = "" then targetpage = "/" end if margin = "" padding="" 'other vars prev = page - 1 'previous page is page - 1 nextPage = page + 1 'nextPage page is page + 1 lastpage = Ceil(totalitems , limit) 'lastpage is = total items / items per page, rounded up. lpm1 = lastpage - 1 'last page minus 1 ' Now we apply our rules and draw the pagination object. ' We're actually saving the code to a variable in case we want to draw it more than once. pagination = "" if lastpage > 1 then pagination = pagination & "
"" OR padding <> "" then pagination = pagination & " style=""" if margin <> "" then pagination = pagination & "margin: margin" end if if padding <> "" then pagination = pagination & "padding: padding" end if pagination = pagination & """" end if pagination = pagination & ">" 'previous button if page > 1 then pagination = pagination & "
Prev" else pagination = pagination & "
Prev" end if 'pages if lastpage < 7 + (adjacents * 2) then 'not enough pages to bother breaking it up
for counter = 1 to lastpage if counter = page then pagination = pagination & "
"&counter&"" else pagination = pagination & "
"&counter&"" end if next elseif lastpage >= 7 + (adjacents * 2) then 'enough pages to hide some 'close to beginning only hide later pages if page < 1 + (adjacents * 3) then for counter = 1 to (4 + (adjacents * 2))-1 if counter = page then pagination = pagination & "
"&counter&"" else pagination = pagination & "
"&counter&"" end if next pagination = pagination & "..." pagination = pagination & "
"&lpm1&"" pagination = pagination & "
"&lastpage&"" 'in middle hide some front and some back elseif lastpage - (adjacents * 2) > page AND page > (adjacents * 2) then pagination = pagination & "
1" pagination = pagination & "
2" pagination = pagination & "..." for counter = (page - adjacents) to (page + adjacents) if counter = page then pagination = pagination & "
"&counter&"" else pagination = pagination & "
"&counter&"" end if next pagination = pagination & "..." pagination = pagination & "
"&lpm1&"" pagination = pagination & "
"&lastpage&"" 'close to end only hide early pages else pagination = pagination & "
1" pagination = pagination & "
2" pagination = pagination & "..." for counter = (lastpage - (1 + (adjacents * 3))) To lastpage if counter = page then pagination = pagination & "
"&counter&"" else pagination = pagination & "
"&counter&"" end if next end if end if 'nextPage button if page < counter - 1 then pagination = pagination & "
Next" else pagination = pagination & "
Next" end if pagination = pagination & "
" & vbnewline end if getPaginationString = pagination end function function Ceil( dividend, divider) if (dividend mod divider) = 0 Then Ceil = dividend / divider ELSE Ceil = Int(dividend / divider) + 1 End if End function 'test script code page = 1 if request("page") <> "" then page=cint(request("page")) end if ps = getPaginationString(page, 1500, 15, 2, "pagination.asp?foo=bar") Response.Write("
"&ps)%>完整打包代码:pagination(zwyuanma.com).rar
看了有些头晕,还是看点简单的吧,asp与php思想差不多啊,参考了dedecms的修改方法效果图:
核心代码:
复制代码 代码如下:ps=cint(pageno)-2 if ps<1 then ps=1 end ifpe=clng(pageno)+5if pe>mpage then pe=mpagefor i=ps to peif i=pageno thenlb=lb&"
"&i&""elselb=lb&"
"&i&""end ifnext
完整代码:
复制代码 代码如下:pageno=cint(currentPage)if cint(pageno)>1 thenlb=lb&"
首页"elselb=lb&"
首页"end ifif cint(pageno)>1 and cint(pageno) thenlb=lb&"
上页"elselb=lb&"
上页"end ifps=cint(pageno)-2 if ps<1 then ps=1 end ifpe=clng(pageno)+5if pe>mpage then pe=mpagefor i=ps to peif i=pageno thenlb=lb&"
"&i&""elselb=lb&"
"&i&""end ifnext
if cint(pageno)
1 thenlb=lb&"下页"elselb=lb&"下页"end ifif cint(pageno)< mpage thenlb=lb&"末页"end if