ASP Gelişmiş Sayfalama [Yardım]
-
1 2 3 4 5 6 7 8 9 ... 20
1 2 3 ... 16 17 18 ... 20
şeklinde sayfalamanın mantığı nedir ya düşünüyorum düşünüyorum bulamadım
-
tamam yaptım
-
:) hadi paylaş ayrıntılı olarak zayi olmasın konu
-
yawuz bunu yazdı:
-----------------------------
:) hadi paylaş ayrıntılı olarak zayi olmasın konu
-----------------------------:)
-
Sayfa sayısı için bir üst limitin olacak. Mesela 20. 20 den çoksa sayfa varsa (verdiğin örneğe göre); toplam sayfası 2'ye bölünür orta alınır.
toplamsayfa = 21
21 / 2 = 10.5. Yuvarla 10 oluversin.
strilk = 1 + 2 + 3
strorta = (orta - 1) + orta + (orta + 1)
strson = (toplamsayfa - 2) + (toplamsayfa - 1) + toplamsayfa
Response.Write strilk & " ... "& strorta &" ... "& strson
Çıktı : 1 2 3 ... 9 10 11 ... 19 20 21
gibi olur.
Böyle bir yapı kullanabilirsin doğru anladı isem.
demiştim ki zaten yapmışsın.
-
<%
if CInt(request.querystring("Sayfa")) = 0 then
simdiki = 1
else
simdiki = CInt(request.querystring("Sayfa"))
end if
if CInt(iSayfa) > 1 then
Response.Write "<a href='?Sayfa="&iSayfa-1&"'>Önceki</a> "
end if
if simdiki > 6 then
Response.Write "<a href='?Sayfa=1'>1</a> "
end if
if iSayfa < 6 then
iSayfa = 5
else
Response.Write "..."
end if
For i = iSayfa-4 to iToplamSayfa
if i > iSayfa + 4 then exit for
if i <> simdiki then
Response.Write "<a href=""?Sayfa="&i&""">"&i&"</a> "
else
Response.Write "<span>"&i&"</span> "
end if
next
if simdiki <> iToplamSayfa then
Response.Write "...<a href=""?Sayfa="&iToplamSayfa&""">"&iToplamSayfa&"</a>"
if iToplamSayfa <> CInt(iSayfa) then
Response.Write "<a href='?Sayfa="&iSayfa+1&"'>Sonraki</a> "
end if
end if
%>Tamamen kendi üretimim :P
