萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> java >> ASP 數字分頁效果代碼分享

ASP 數字分頁效果代碼分享

class="area"> 最近網站改版正好發現原來的分頁不帶數字的,只有首頁 上頁 下頁 末頁 然後是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 & "<div class=""pagination"""
   if margin <> "" 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 &  "<a href="""&targetpage&"&page="&prev&""">Prev</a>"
   else
    pagination = pagination &  "<span class=""disabled"">Prev</span>" 
   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 &  "<span class=""current"">"&counter&"</span>"
     else
      pagination = pagination &  "<a href="""&targetpage&""&"&page="&counter&""">"&counter&"</a>"
     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 &  "<span class=""current"">"&counter&"</span>"
      else
       pagination = pagination &  "<a href="""&targetpage&"&page="&counter&""">"&counter&"</a>"
      end if   
     next
     pagination = pagination &  "..."
     pagination = pagination &  "<a href="""&targetpage&""&"&page="&lpm1&""">"&lpm1&"</a>"
     pagination = pagination &  "<a href="""&targetpage&""&"&page="&lastpage&""">"&lastpage&"</a>"  
    'in middle hide some front and some back
    elseif lastpage - (adjacents * 2) > page AND page > (adjacents * 2) then
     pagination = pagination &  "<a href="""&targetpage&"&page=1"">1</a>"
     pagination = pagination &  "<a href="""&targetpage&"&page=2"">2</a>"
     pagination = pagination &  "..."
     for counter = (page - adjacents) to (page + adjacents)
      if counter = page then
       pagination = pagination &  "<span class=""current"">"&counter&"</span>"
      else
       pagination = pagination &  "<a href="""&targetpage&"&page="&counter&""">"&counter&"</a>"
      end if
     next
     pagination = pagination &  "..."
     pagination = pagination &  "<a href="""&targetpage&"&page="&lpm1&""">"&lpm1&"</a>"
     pagination = pagination &  "<a href="""&targetpage&"page="&lastpage&""">"&lastpage&"</a>"  
    'close to end only hide early pages
    else
     pagination = pagination &  "<a href="""&targetpage&"&page=1"">1</a>"<

copyright © 萬盛學電腦網 all rights reserved