⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mypage.asp

📁 . 缓存处理技术
💻 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  " &nbsp; 页次:"&MyPage_PageAbsolute&"/"&MyPage_PageTotal&"页&nbsp"
  response.write  "共"&MyPage_RecordTotal&"条记录&nbsp;每页"& 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 "&nbsp"
  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>&nbsp"
   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"">&nbsp;<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 + -