<%''++++++++++++++++++++++++++++++++++++++++++++ ++++ +++++
'' Exemple d'appel
'Dim int_RPP,int_Start,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo
'int_RPP=2 'Définir le nombre affiché par page
'int_showNumberLink_=8 'Numéro d'affichage de navigation numérique
'showMorePageGo_Type_ = 1 'Est-ce un menu déroulant ou un saut de valeur d'entrée Lorsqu'il est appelé plusieurs fois, un seul peut être sélectionné ?
'str_nonLinkColor_="#999999" 'Couleur du lien non actif
'toF_="<font face=webdings>9</font>" 'Page d'accueil
'toP10_=" <font face=webdings>7</font>" 'Les dix premiers
'toP1_=" <font face=webdings>3</font>" 'Précédent
'toN1_=" <font face=webdings>4</font>" 'Suivant
'toN10_=" <font face=webdings>8</font>" 'Les dix suivants
'toL_="<font face=webdings>:</font>" 'Dernière page
'============================== ==============
'Ce code doit être compris entre VClass_Rs.Open et la boucle for
' Définir VClass_Rs = CreateObject (G_FS_RS)
' VClass_Rs.Open This_Fun_Sql,User_Conn,1,1
' SI ce n'est pas VClass_Rs.eof ALORS
' VClass_Rs.PageSize=int_RPP
' cPageNo=NoSqlHack(Request.QueryString("Page"))
' Si cPageNo="" Alors cPageNo = 1
' Si ce n'est pas numérique (cPageNo) Alors cPageNo = 1
'cPageNo = Clng(cPageNo)
' Si cPageNo<=0 Alors cPageNo=1
' Si cPageNo>VClass_Rs.PageCount Alors cPageNo=VClass_Rs.PageCount
' VClass_Rs.AbsolutePage=cPageNo
' POUR int_Start=1 À int_RPP
''++++++++++
'Ajouter un corps de boucle pour afficher les données
''++++++++++
'VClass_Rs.MoveNext
' si VClass_Rs.eof ou VClass_Rs.bof alors quittez pour
' SUIVANT
'FIN SI
'=============================================
'response.Write "<p>"& fPageCount(VClass_Rs,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo)
''++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++ ++
'************************************************ * *********
'Objectif : Conserver les paramètres de la page de pagination
'Soumettre la cohérence des requêtes
'Entrée : moveParam : paramètre de pagination
'removeList : paramètres à supprimer
'Retour : URL de pagination
'************************************************ * *********
Fonction PageUrl(moveParam,removeList)
dim nomStream
estomper KeepUrl, KeepForm, KeepMove
RemoveList=removeList&","&moveParam
GarderForm=""
Pour chaque strName dans Request.Form
'Déterminer la soumission et la valeur nulle dans les paramètres du formulaire
sinon InstrRev(","&removeList&",",","&strName&",", -1, 1)>0 et Request.Form(strName)<>"" alors
KeepForm=KeepForm&"&"&strName&"="&Server.URLencode(Request.Form(strName))
finir si
RemoveList=removeList&","&strName
Suivant
GarderUrl=""
Pour chaque strName dans Request.QueryString
Sinon (InstrRev(","&removeList&",",","&strName&",", -1, 1)>0) Alors
KeepUrl = KeepUrl & "&" & strName & "=" & Server.URLencode (Request.QueryString (strName))
Fin si
Suivant
KeepMove=Conserver le formulaire et conserver l'URL
Si (KeepMove <> "") Alors
KeepMove = Droite (KeepMove, Len (KeepMove) - 1)
KeepMove = Serveur.HTMLEncode(KeepMove) & "&"
Fin si
'PageUrl = replace(Request.ServerVariables("URL"),"/Search.asp","/Search.html") & "& KeepMove & moveParam & "="
PageUrl = "?" & KeepMove & moveParam & "="
Fonction de fin
Fonction fPageCount(Page_Rs,showNumberLink_,nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,Page)
Dim This_Func_Get_Html_,toPage_,p_,sp2_,I,tpagecount
Dim NaviLength,StartPage,EndPage
This_Func_Get_Html_ = "" : I = 1
NaviLength=showNumberLink_
if IsEmpty(showMorePageGo_Type_) alors showMorePageGo_Type_ = 1
tpagecount=Page_Rs.pagecount
Si tPageCount<1 Alors tPageCount=1
si pas Page_Rs.eof ou pas Page_Rs.bof alors
toPage_ = PageUrl("Page","submit,GetType,no-cache,_")
si Page=1 alors
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""Home"">"&toF_&"</font> " &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&"1 title=""Page d'accueil"">"&toF_&"</a> " &vbNewLine
Fin si
si Page<NaviLength alors
Page de démarrage=1
autre
StartPage = fix (Page / NaviLength) * NaviLength
finir si
EndPage=StartPage+NaviLength-1
Si EndPage>tPageCount Alors EndPage=tPageCount
Si StartPage>1 Alors
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_& Page - NaviLength &" title=""上"&int_showNumberLink_&"Page"">"&toP10_&"</a> " &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""上"&int_showNumberLink_&"page"">"&toP10_&"</font> " &vbNewLine
Fin Si
Si Page <> 1 et Page <>0 Alors
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&(Page-1)&" title=""Page précédente"">"&toP1_&"</a> " &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""Page précédente"">"&toP1_&"</font> " &vbNewLine
Fin si
pour I = StartPage vers EndPage
Si je = Page Alors
This_Func_Get_Html_=This_Func_Get_Html_& "<b>"&I&"</b>" &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&I&">" &I& "</a>" &vbNewLine
Fin si
Si I<>tPageCount Alors This_Func_Get_Html_=This_Func_Get_Html_& vbNewLine
Suivant
Si Page <> Page_Rs.PageCount et Page <>0 Alors
This_Func_Get_Html_=This_Func_Get_Html_& " <a href="&toPage_&(Page+1)&" title=""Page suivante"">"&toN1_&"</a> " &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""Page suivante"">"&toN1_&"</font> " &vbNewLine
Fin si
si finpage<tpagecount alors
This_Func_Get_Html_=This_Func_Get_Html_& " <a href="&toPage_& Page + NaviLength &" title=""下"&int_showNumberLink_&"Page"">"&toN10_&"</a> " &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& " <font color="&nonLinkColor_&" title=""下"&int_showNumberLink_&"page"">"&toN10_&"</font> " &vbNewLine
Fin Si
si Page_Rs.PageCount<>Page alors
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&Page_Rs.PageCount&" title=""Dernière page"">"&toL_&"</a>" &vbNewLine
Autre
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""Dernière page"">"&toL_&"</font>" &vbNewLine
Fin Si
Si showMorePageGo_Type_ = 1 alors
Faible Show_Page_i
Show_Page_i = Page + 1
si Show_Page_i > tPageCount alors Show_Page_i = 1
This_Func_Get_Html_=This_Func_Get_Html_& "<input type=""text"" size=""4"" maxlength=""10"" name=""Func_Input_Page"" onmouseover=""this.focus();"" onfocus="" this.value='"&Show_Page_i&"';"" onKeyUp=""value=value.replace(/[^1-9]/g,'')"" onbeforepaste=""clipboardData.setData('text',clipboardData .getData('text').replace(/[^1-9]/g,''))"">" &vbNewLine _
&"<input type=""button"" value=""Go"" onmouseover=""Func_Input_Page.focus();"" onclick=""javascript:var Js_JumpValue;Js_JumpValue=document.all.Func_Input_Page.value;if (Js_JumpValue=='' || !isNaN(Js_JumpValue)) location='"&topage_&"'+Js_JumpValue; else location='"&topage_&"1';"">" &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& " Jump:<select NAME = menu1 onChange=""var Js_JumpValue;Js_JumpValue=this.options[this.selectedIndex].value;if(Js_JumpValue!='') location=Js_JumpValue;"">"
pour i=1 à tPageCount
This_Func_Get_Html_=This_Func_Get_Html_& "<valeur d'option="&topage_&i
si Page=i alors This_Func_Get_Html_=This_Func_Get_Html_& " style sélectionné='color:#0000FF'"
This_Func_Get_Html_=This_Func_Get_Html_& ">Page "&cstr(i)&"</option>" &vbNewLine
suivant
This_Func_Get_Html_=This_Func_Get_Html_& "</select>" &vbNewLine
Fin si
This_Func_Get_Html_=This_Func_Get_Html_& p_&sp2_&" <b>"&Page_Rs.PageSize&"</b> enregistrements par page, maintenant :<b><span class=""tx" "> "&sp2_&Page&"</span>/"&tPageCount&"</b> pages, un total de <b><span id='recordcount'>"&sp2_&Page_Rs.recordCount&"</span></b> enregistrements."
else
'Pas de dossier
finir si
fPageCount = This_Func_Get_Html_
Fonction de fin
%>
http://blog.csdn.net/hzf100/archive/2006/12/28/1465471.aspx