永发信息网

请ASP高手帮我修改一下这个ASP分页模块

答案:3  悬赏:0  手机版
解决时间 2021-11-21 23:59
  • 提问者网友:绫月
  • 2021-11-21 06:03
请ASP高手帮我修改一下这个ASP分页模块
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-11-21 06:28
这样试试

<%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块
'◆文 件 名: fenye.asp
'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)
'◆输 出: 记录集翻页显示功能
'+++++++++++++++++++++++++++++++++++++
'
Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;
Dim TotalPage '总页数
Dim PageNo '当前显示的是第几页
Dim RecordCount'总记录条数
Rs_tmp.PageSize = PageSize
RecordCount = Rs_tmp.RecordCount
TotalPage = INT(RecordCount / PageSize * -1)*-1
PageNo = Request.QueryString ("PageNo")
'直接输入页数跳转;
If Request.Form("PageNo")<>"" Then
PageNo = Request.Form("PageNo")
'如果没有选择第几页,则默认显示第一页;
end if
If PageNo = "" then PageNo = 1

If RecordCount <> 0 then
Rs_tmp.AbsolutePage = PageNo
End If
'获取当前文件名,使得每次翻页都在当前页面进行;
Dim fileName,postion
fileName = Request.ServerVariables("script_name")
postion = InstrRev(fileName,"/")+1
fileName = Mid(fileName,postion)
%>






总页数:<%=TotalPage%>
当前第<%=PageNo%>页 总共<%=RecordCount%>条

<%If RecordCount = 0 or TotalPage = 1 Then
Response.Write "首页|前页|后页|末页"
Else%>
?PageNo=1">首页|

<%If PageNo - 1 = 0 Then
Response.Write "前页|"
Else%>
?PageNo=<%=PageNo-1%>">前页|
<%End If

If PageNo+1 > TotalPage Then
Response.Write "后页|"
Else%>
?PageNo=<%=PageNo+1%>">后页|
<%End If%>
?PageNo=<%=TotalPage%>">末页
<%End If%>



<%End Sub%>
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-11-21 06:41
我给你一个通用的分页代码把
文件名:page.asp
<%
dim pageno '记录第几页

'函数名cut1,参数rs类型为Recordset
'该函数主要将接收一个pageno,并将这个值赋给rs的AbsolutePage
'最终达到指定当前页是第几页
function cut1(rs)
if not rs.eof or not rs.bof then
Dim i
pageno = Request("pageno")
If pageno <= 0 Then
rs.AbsolutePage = 1 '转到第一页
pageno = 1
Else
If CInt(pageno) > CInt(rs.PageCount) Then
pageno = rs.PageCount '转到最后一页
End If
rs.AbsolutePage = pageno
End If
end if
End function

'函数名cut2,参数rs类型为Recordset
'该函数主要将接收一个Request("url")和Request.QueryString,从而取得本页地址栏的内容
'在此基础上,根据当前页数pageno算出各种不同情况下,我们需要的下一页的页数
'最终达到指定下一页地址栏内容
'注:本函数没有对Request.form做处理
function cut2(rs)
Dim urlstring
Dim thisno

urlstring = Request("url") & "?" & Request.QueryString
if Request.QueryString="" then
urlstring = Request("url") & "?" & Request.form
'注:本函数在仅这里对Request.form做处理
end if
If InStr(urlstring, "pageno=") > 0 Then
urlstring = Left(urlstring, InStr(urlstring, "pageno=") - 1)
End If
If ((InStr(urlstring, "&") >= 2) or (InStr(Left(urlstring, Len(urlstring) - 1), "?") >= 2)) Then
urlstring = urlstring & "&"
End If
if InStr(urlstring, "/") >= 2 Then
urlstring1 = split(urlstring, "/")
urlstring = urlstring1(ubound(urlstring1))
end if
if instr(urlstring,"&&") then
urlstring=replace(urlstring,"&&","&")
end if
thisno=pageno 'thisno记录当前页数pageno,以后的pageno将是下一页的页数

Response.Write "
"
if not rs.eof or not rs.bof then
Response.Write "" & pageno & "页 共" & rs.PageCount & "" & rs.RecordCount & "条信息 "
else
Response.Write "0页 共" & rs.PageCount & "" & rs.RecordCount & "条信息 "
end if
if not rs.eof or not rs.bof then
if cint(pageno)=rs.pagecount then
response.write "现在是"&(cint(pageno)-1)*rs.pagesize+1&"条---"&(cint(pageno)-1)*rs.pagesize+(rs.recordcount-cint(pageno-1)*rs.pagesize)&"条 "
else
response.write "现在是"&(cint(pageno)-1)*rs.pagesize+1&"条---"&cint(pageno)*rs.pagesize&"条 "
end if
else
response.write "现在是0条---0条"
end if
Response.Write "直接到第"

'文本框用于跟踪当前页数和控制下一页页数(暂停用)
'Response.Write " 页"

'下拉列表框用于跟踪当前页数和控制下一页页数
Response.Write ""
Response.Write "页
 "
if pageno<=1 then
response.write "首页 "
response.write "上页 "
else
Response.Write "首页 "
Response.Write "上页 "
end if
if (cint(pageno)>=cint(rs.pagecount)) then
response.write "下页 "
response.write "末页 "
else
Response.Write "下页 "
Response.Write "末页 "
end if
Response.Write ""
End function

%>
使用的时候用include引用这个页面
并在现实的位置加入
<%= cut1(rs) %>
这样就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯