📄 mypage.asp
字号:
<style type="text/css">
<!--
/* 分页显示导航上的文本框和按钮 */
.inputpage {
width: 20px; height: 16px; border: 1px #dfdfdf solid; font-size: 12px;
}
-->
</style>
<%
Class MyPage
private MyPage_Conn,MyPage_StrSql,MyPage_TotalStrSql,MyPage_RS,MyPage_TotalRS
private MyPage_PageSize
private MyPage_PageAbsolute,MyPage_PageTotal,MyPage_RecordTotal
private MyPage_Url
public property let conn(strConn)
set MyPage_Conn = strConn
end property
public property let PageSize(intPageSize)
MyPage_PageSize = Cint(intPageSize)
end property
public function PageExecute(strSql)
MyPage_PageAbsolute = MyPage_PageAbsoluteRequest()
MyPage_TotalStrSql = FormatMyPage_TotalStrSql(strSql)
set MyPage_TotalRS = MyPage_Conn.execute(MyPage_TotalStrSql)
MyPage_RecordTotal = MyPage_TotalRS("total")
MyPage_PageTotal = Cint(MyPage_RecordTotal/MyPage_PageSize)
if MyPage_PageTotal<=1 then MyPage_PageTotal=MyPage_PageTotal+1
MyPage_StrSql = FormatMyPage_StrSql(strSql)
set MyPage_RS = MyPage_Conn.execute(MyPage_StrSql)
dim i
i = 0
while not MyPage_RS.eof and i<(MyPage_PageAbsolute-1)*MyPage_PageSize
i = i + 1
MyPage_RS.MoveNext
wend
set PageExecute = MyPage_RS
end function
public function Execute(strSql,strConn,intPageSize)
conn = strConn
PageSize = intPageSize
set Execute = PageExecute(strSql)
end function
public function pageDispaly()
Dim FirstPageTag,LastPageTag,PreviewPageTag,NextPageTag,Pre_PageTag,Next_PageTag
MyPage_Url = GetMyPage_Url
firstPageTag = "<font face=webdings>9</font>" '|<<
LastPageTag = "<font face=webdings>:</font>" '>>|
previewPageTag = "<font face=webdings>7</font>" '<<
nextPageTag = "<font face=webdings>8</font>" '>>
Pre_PageTag = "<font face=webdings>3</font>" '>>
Next_PageTag = "<font face=webdings>4</font>" '>>
dim strAnd
if instr(MyPage_Url,"?")=0 then
strAnd = "?"
else
strAnd = "&"
end if
response.write "<table width=100% border=0 cellspacing=0 cellpadding=0 align=center>"
response.write "<form name=pageform method=post action="& GetMyPage_Url &">"
response.write "<tr class=td>"
response.write "<td align=left>"
response.write " 页次:"&MyPage_PageAbsolute&"/"&MyPage_PageTotal&"页 "
response.write "共"&MyPage_RecordTotal&"条记录 每页"& MyPage_PageSize &"条"
response.write "</td>"
response.write "<td align=right>"
response.write "分页:"
if MyPage_PageAbsolute>10 then
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo=1' alt='首页'>"&firstPageTag&"</a>"
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="& (MyPage_PageAbsolute-10) &"' alt='前第十页'>"&previewPageTag&"</a>"
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="& (MyPage_PageAbsolute-1) &"' alt='上一页'>"& Pre_PageTag &"</a>"
else
response.write firstPageTag
response.write previewPageTag
end if
response.write " "
dim CurrentStartPage,i
i = 1
CurrentStartPage=(Cint(MyPage_PageAbsolute)\10)*10+1
if Cint(MyPage_PageAbsolute) mod 10=0 then
CurrentStartPage = CurrentStartPage - 10
end if
while i<11 and CurrentStartPage<MyPage_PageTotal+1
Dim FormatCurrentStartPage
if CurrentStartPage < 10 then
FormatCurrentStartPage = "0" & CurrentStartPage
else
FormatCurrentStartPage = CurrentStartPage
end if
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="&CurrentStartPage&"'>"&FormatCurrentStartPage&"</a> "
i = i + 1
CurrentStartPage = CurrentStartPage + 1
wend
if MyPage_PageAbsolute>(MyPage_PageTotal-10)-1 and MyPage_PageTotal>10 then
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="&(MyPage_PageAbsolute+1)&"' alt='下一页'>"& Next_PageTag &"</a>"
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="&(MyPage_PageAbsolute+10)&"' alt='后第十页'>"&nextPageTag&"</a>"
response.write "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo="&MyPage_PageTotal&"' alt='末页'>"&LastPageTag&"</a>"
else
response.write nextPageTag
response.write LastPageTag
end if
response.write ""
response.write "</td>"
response.write "<td width=80 align=center><input name=MyPage_PageNo type=text value="""" class=""inputpage""> <input type=submit name=submitpage value=""转到""></td>"
response.write "</tr>"
response.write "</form>"
response.write "</table>"
end function
public function GetPageNo()
GetPageNo = cint(MyPage_PageAbsolute)
end function
public function GetPageCount()
GetPageCount = cint(MyPage_PageTotal)
end function
public function GetPageNoName()
GetPageNoName = "MyPage_PageNo"
end function
public function GetPageSize()
GetPageSize = MyPage_PageSize
end function
public function GetRecordTotal()
GetRecordTotal = MyPage_RecordTotal
end function
private function FormatMyPage_TotalStrSql(strSql)
FormatMyPage_TotalStrSql = "select count(*) as total "
FormatMyPage_TotalStrSql = FormatMyPage_TotalStrSql & Mid(strSql,instr(strSql,"from"))
FormatMyPage_TotalStrSql = Mid(FormatMyPage_TotalStrSql,1,instr(FormatMyPage_TotalStrSql&"order by","order by")-1)
end function
private function FormatMyPage_StrSql(strSql)
FormatMyPage_StrSql = replace(strSql,"select","select top "&(MyPage_PageAbsolute*Cint(MyPage_PageSize)))
end function
private function MyPage_PageAbsoluteRequest()
if request("MyPage_PageNo")="" then
MyPage_PageAbsoluteRequest = 1
else
if IsNumeric(request("MyPage_PageNo")) then
MyPage_PageAbsoluteRequest = request("MyPage_PageNo")
else
MyPage_PageAbsoluteRequest = 1
end if
end if
end function
private function GetMyPage_Url()
GetMyPage_Url = Request.ServerVariables("URL")
if Request.QueryString<>"" then
GetMyPage_Url = GetMyPage_Url & "?" & Request.QueryString
end if
Dim Re
set re = new RegExp
re.Pattern = "[&|?]MyPage_PageNo=\d+"
re.IgnoreCase = true
re.global = true
Dim Matches,TmpMatch,Match
Set Matches = re.Execute(GetMyPage_Url)
For Each Match in Matches
tmpMatch = Match.Value
GetMyPage_Url = replace(GetMyPage_Url,tmpMatch,"")
next
end function
end Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -