ASP源码
PHP源码
.NET源码
JSP源码
<%''+++++++++++++++++++++++++++++++++++++++++++++++++++++++
''调用例子
'Dim 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_="9" '首页
'toP10_=" 7" '上十
'toP1_=" 3" '上一
'toN1_=" 4" '下一
'toN10_=" 8" '下十
'toL_=":" '尾页
'============================================
'这段代码一定要在VC***s_Rs.Open 与 for循环之间
' Set VClass_Rs = CreateObject(G_FS_RS)
' VC***s_Rs.Open This_Fun_Sql,User_Conn,1,1
' IF not VC***s_Rs.eof THEN
' VC***s_Rs.PageSize=int_RPP
' cPageNo=NoSqlHack(Re***st.QueryString("Page"))
' If cPageNo="" Then cPageNo = 1
' If not isnumeric(cPageNo) Then cPageNo = 1
' cPageNo = Clng(cPageNo)
' If cPageNo<=0 Then cPageNo=1
' If cPageNo>VC***s_Rs.PageCount Then cPageNo=VC***s_Rs.PageCount
' VC***s_Rs.AbsolutePage=cPageNo
' FOR int_Start=1 TO int_RPP
''++++++++++
'加循环体显示数据
''++++++++++
' VC***s_Rs.MoveNext
' if VC***s_Rs.eof or VC***s_Rs.bof then exit for
' NEXT
' END IF
'============================================
're***nse.Write "
"& fPageCount(VClass_Rs,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo)
''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'*********************************************************
' 目的:分页的页面参数保持
' 提交查询的一致性
' 输入:moveParam:分页参数
' removeList:要移除的参数
' 返回:分页Url
'*********************************************************
Function PageUrl(moveParam,removeList)
dim strName
dim KeepUrl,KeepForm,KeepMove
removeList=removeList&","&moveParam
KeepForm=""
For Each strName in Re***st.Form
'判断form参数中的submit、空值
if not InstrRev(","&removeList&",",","&strName&",", -1, 1)>0 and Re***st.Form(strName)<>"" then
KeepForm=KeepForm&"&"&strName&"="&Se***r.URLencode(Re***st.Form(strName))
end if
removeList=removeList&","&strName
Next
KeepUrl=""
For Each strName In Re***st.QueryString
If not (InstrRev(","&removeList&",",","&strName&",", -1, 1)>0) Then
KeepUrl = KeepUrl & "&" & strName & "=" & Se***r.URLencode(Re***st.QueryString(strName))
End If
Next
KeepMove=KeepForm&KeepUrl
If (KeepMove <> "") Then
KeepMove = Right(KeepMove, Len(KeepMove) - 1)
KeepMove = Se***r.HTMLEncode(KeepMove) & "&"
End If
'PageUrl = replace(Re***st.ServerVariables("URL"),"/S***ch.asp","/S***ch.html") & "?" & KeepMove & moveParam & "="
PageUrl = "?" & KeepMove & moveParam & "="
End Function
Function 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_) then showMorePageGo_Type_ = 1
tp***count=Page_Rs.pagecount
If tPageCount<1 Then tPageCount=1
if not Pa***Rs.eof or not Pa***Rs.bof then
toPage_ = PageUrl("Page","submit,GetType,no-cache,_")
if Page=1 then
This_Func_Get_Html_=This_Func_Get_Html_& ""&toF_&" " &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& ""&toF_&" " &vbNewLine
End If
if Page
else
StartPage = fix(Page / NaviLength) * NaviLength
end if
EndPage=StartPage+NaviLength-1
If EndPage>tPageCount Then EndPage=tPageCount
If StartPage>1 Then
This_Func_Get_Html_=This_Func_Get_Html_& ""&toP10_&" " &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& ""&toP10_&" " &vbNewLine
End If
If Page <> 1 and Page <>0 Then
This_Func_Get_Html_=This_Func_Get_Html_& ""&toP1_&" " &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& ""&toP1_&" " &vbNewLine
End If
For I=StartPage To EndPage
If I=Page Then
This_Func_Get_Html_=This_Func_Get_Html_& ""&I&"" &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& "" &I& "" &vbNewLine
End If
If I<>tPageCount Then This_Func_Get_Html_=This_Func_Get_Html_& vbNewLine
Next
If Page <> Pa***Rs.PageCount and Page <>0 Then
This_Func_Get_Html_=This_Func_Get_Html_& " "&toN1_&" " &vbNewLine
Else
This_Func_Get_Html_=This_Func_Get_Html_& ""&toN1_&" " &vbNewLine
End If
If EndPage
Else
This_Func_Get_Html_=This_Func_Get_Html_& " "&toN10_&" " &vbNewLine
End If
if Pa***Rs.PageCount<>Page then
This_Func_Get_Html_=This_Func_Get_Html_& "Pa***Rs.PageCount
If showMorePageGo_Type_ = 1 then
Dim Show_Page_i
Show_Page_i = Page + 1
if Show_Page_i > tPageCount then Show_Page_i = 1
This_Func_Get_Html_=This_Func_Get_Html_& "th***focus();"" onfocus=""th***value='"&Show_Page_i&"';"" onKeyUp=""va***=value.replace(/[^1-9]/g,'')"" onbeforepaste=""cl***oardData.setData('text',cl***oardData.getData('text').replace(/[^1-9]/g,''))"">" &vbNewLine _
&"Fu***Input_Page.focus();"" onclick=""javascript:var Js_JumpValue;Js***mpValue=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_& " 跳转:" &vbNewLine
End if
This_Func_Get_Html_=This_Func_Get_Html_& p_&sp2_&" 每页"&Pa***Rs.PageSize&"个记录,现在是:"&sp2_&Page&"/"&tPageCount&"页,共"&sp2_&Pa***Rs.recordCount&"个记录。"
else
'没有记录
end if
fPageCount = This_Func_Get_Html_
End Function
%>
http://blog.csdn.net/hzf100/archive/2006/12/28/1465471.aspx