<%''++++++++++++++++++++++++++++++++++++++++++ ++++ +++++
'' ตัวอย่างการโทร
'หรี่ int_RPP,int_Start,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo
'int_RPP=2 'กำหนดจำนวนที่แสดงต่อหน้า
'int_showNumberLink_=8 'หมายเลขแสดงการนำทางด้วยตัวเลข
'showMorePageGo_Type_ = 1 'เป็นเมนูแบบเลื่อนลงหรือการข้ามค่าอินพุตหรือไม่ เมื่อเรียกหลายครั้ง สามารถเลือกได้เพียง 1 รายการเท่านั้น
'str_nonLinkColor_="#999999" 'สีที่ไม่ใช่ฮอตลิงก์
'toF_="<font face=webdings>9</font>" 'หน้าแรก'
'toP10_=" <font face=webdings>7</font>" 'สิบอันดับแรก
'toP1_=" <font face=webdings>3</font>" 'ก่อนหน้า
'toN1_=" <font face=webdings>4</font>" 'ถัดไป
'toN10_=" <font face=webdings>8</font>" 'สิบถัดไป
'toL_="<font face=webdings>:</font>" 'หน้าสุดท้าย
'============================== ==============
'โค้ดนี้ต้องอยู่ระหว่าง VClass_Rs.Open และ for for loop'
' ตั้งค่า VClass_Rs = CreateObject(G_FS_RS)
' VClass_Rs.เปิด This_Fun_Sql,User_Conn,1,1
' ถ้าไม่ใช่ VClass_Rs.eof แล้ว
' VClass_Rs.PageSize=int_RPP
' cPageNo=NoSqlHack(Request.QueryString("หน้า"))
' ถ้า cPageNo="" ดังนั้น cPageNo = 1
' หากไม่ใช่ตัวเลข (cPageNo) ดังนั้น cPageNo = 1
'cPageNo = Clng(cPageNo)
' ถ้า cPageNo<=0 ดังนั้น cPageNo=1
' ถ้า cPageNo>VClass_Rs.PageCount ดังนั้น cPageNo=VClass_Rs.PageCount
' VClass_Rs.AbsolutePage=cPageNo
' สำหรับ int_Start=1 ถึง int_RPP
-
'เพิ่มเนื้อหาวนซ้ำเพื่อแสดงข้อมูล
-
'VClass_Rs.MoveNext'
' ถ้า VClass_Rs.eof หรือ VClass_Rs.bof ให้ออกเพื่อ
' ต่อไป
'สิ้นสุดถ้า
-
'response.Write "<p>"& fPageCount(VClass_Rs,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo)
''++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++ ++
'************************************************ * *********
'วัตถุประสงค์: เก็บพารามิเตอร์เพจของเพจไว้
'ส่งแบบสอบถามที่สอดคล้องกัน
'อินพุต: moveParam: พารามิเตอร์เพจจิ้ง
'removeList: พารามิเตอร์ที่ต้องการลบ'
'กลับมา: URL การเพจ
'************************************************ * *********
ฟังก์ชั่น PageUrl (moveParam,removeList)
strName สลัว
KeepUrl, KeepForm, KeepMove สลัว
RemoveList=removeList&","&moveParam
KeepForm=""
สำหรับแต่ละ strName ใน Request.Form
'กำหนดค่าการส่งและค่าว่างในพารามิเตอร์แบบฟอร์ม
ถ้าไม่ใช่ InstrRev(","&removeList&",",","&strName&",", -1, 1)>0 และ Request.Form(strName)<>"" แล้ว
KeepForm=KeepForm&"&"&strName&"="&Server.URLencode(Request.Form(strName))
สิ้นสุดถ้า
RemoveList=removeList&","&strName
ต่อไป
เก็บUrl=""
สำหรับแต่ละ strName ใน Request.QueryString
ถ้าไม่ใช่ (InstrRev("&removeList&",","&strName&",", -1, 1)>0) จากนั้น
KeepUrl = KeepUrl & "&" & strName & "=" & Server.URLencode(คำขอ.QueryString(strName))
สิ้นสุดถ้า
ต่อไป
KeepMove=KeepForm&KeepUrl
ถ้า (KeepMove <> "") จากนั้น
KeepMove = ขวา(KeepMove, Len(KeepMove) - 1)
KeepMove = Server.HTMLEncode(KeepMove) & "&"
สิ้นสุดถ้า
'PageUrl = แทนที่ (Request.ServerVariables ("URL"), "/Search.asp", "/Search.html") & "?" & KeepMove & moveParam & "="
PageUrl = "?" & KeepMove & moveParam & "="
ฟังก์ชันสิ้นสุด
ฟังก์ชัน fPageCount(Page_Rs,showNumberLink_,nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,Page)
หรี่ This_Func_Get_Html_,toPage_,p_,sp2_,I,tpagecount
Dim NaviLength, StartPage, EndPage
This_Func_Get_Html_ = "" : I = 1
NaviLength=showNumberLink_
ถ้า IsEmpty(showMorePageGo_Type_) จากนั้น showMorePageGo_Type_ = 1
tpagecount=Page_Rs.จำนวนหน้า
ถ้า tPageCount<1 ดังนั้น tPageCount=1
ถ้าไม่ใช่ Page_Rs.eof หรือไม่ Page_Rs.bof ดังนั้น
toPage_ = PageUrl("Page","submit,GetType,no-cache,_")
ถ้า Page=1 แล้ว
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""Home"">"&toF_&"</font> " &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&"1 title=""Homepage"">"&toF_&"</a> " &vbNewLine
สิ้นสุดถ้า
ถ้า Page<NaviLength แล้ว
หน้าเริ่มต้น=1
อื่น
StartPage = แก้ไข (หน้า / NaviLength) * NaviLength
สิ้นสุดถ้า
EndPage=หน้าเริ่มต้น+NaviLength-1
ถ้า EndPage>tPageCount แล้ว EndPage=tPageCount
ถ้า StartPage>1 แล้ว
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_& Page - NaviLength &" title=""上"&int_showNumberLink_&"Page"">"&toP10_&"</a> " &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""上"&int_showNumberLink_&"page"">"&toP10_&"</font> " &vbNewLine
สิ้นสุดถ้า
หน้า <> 1 และหน้า <>0 จากนั้น
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&(Page-1)&" title=""หน้าก่อนหน้า"">"&toP1_&"</a> " &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""หน้าก่อนหน้า"">"&toP1_&"</font> " &vbNewLine
สิ้นสุดถ้า
สำหรับ I=StartPage ถึง EndPage
ถ้าฉัน = เพจแล้ว
This_Func_Get_Html_=This_Func_Get_Html_& "<b>"&I&"</b>" &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&I&">" &I& "</a>" &vbNewLine
สิ้นสุดถ้า
ถ้าฉัน<>tPageCount ดังนั้น This_Func_Get_Html_=This_Func_Get_Html_& vbNewLine
ถัดไป
ถ้าเพจ <> Page_Rs.PageCount และเพจ <>0 จากนั้น
This_Func_Get_Html_=This_Func_Get_Html_& " <a href="&toPage_&(Page+1)&" title=""หน้าถัดไป"">"&toN1_&"</a> " &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""หน้าถัดไป"">"&toN1_&"</font> " &vbNewLine
สิ้นสุดถ้า
ถ้า EndPage<tpagecount แล้ว
This_Func_Get_Html_=This_Func_Get_Html_& " <a href="&toPage_& Page + NaviLength &" title=""下"&int_showNumberLink_&"Page"">"&toN10_&"</a> " &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& " <font color="&nonLinkColor_&" title=""下"&int_showNumberLink_&"page"">"&toN10_&"</font> " &vbNewLine
สิ้นสุด ถ้า
ถ้า Page_Rs.PageCount<>เพจแล้ว
This_Func_Get_Html_=This_Func_Get_Html_& "<a href="&toPage_&Page_Rs.PageCount&" title=""หน้าสุดท้าย"">"&toL_&"</a>" &vbNewLine
อื่น
This_Func_Get_Html_=This_Func_Get_Html_& "<font color="&nonLinkColor_&" title=""หน้าสุดท้าย"">"&toL_&"</font>" &vbNewLine
สิ้นสุด ถ้า
ถ้า showMorePageGo_Type_ = 1 แล้ว
Dim Show_Page_i
Show_Page_i = หน้า + 1
ถ้า Show_Page_i > tPageCount ดังนั้น 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;"">"
สำหรับ i=1 ถึง tPageCount
This_Func_Get_Html_=This_Func_Get_Html_& "<option value="&topage_&i
ถ้า Page=i ดังนั้น This_Func_Get_Html_=This_Func_Get_Html_& " สไตล์ที่เลือก='color:#0000FF'"
This_Func_Get_Html_=This_Func_Get_Html_& ">หน้า "&cstr(i)&"</option>" &vbNewLine
ต่อไป
This_Func_Get_Html_=This_Func_Get_Html_& "</select>" &vbNewLine
End if
This_Func_Get_Html_=This_Func_Get_Html_& p_&sp2_&" <b>"&Page_Rs.PageSize&"</b> บันทึกต่อหน้า ขณะนี้:<b><span class=""tx" "> "&sp2_&Page&"</span>/"&tPageCount&"</b> หน้า รวมเป็น <b><span id='recordcount'>"&sp2_&Page_Rs.recordCount&"</span></b> บันทึก"
else
'ไม่มีบันทึก
สิ้นสุดถ้า
fPageCount = This_Func_Get_Html_
ฟังก์ชันสิ้นสุด
-
http://blog.csdn.net/hzf100/archive/2006/12/28/1465471.aspx