请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)
%>
<%End Sub%>
<%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块
'◆文 件 名: 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 ""
End function
%>
使用的时候用include引用这个页面
并在现实的位置加入
<%= cut1(rs) %>
这样就可以了
文件名: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 ""
End function
%>
使用的时候用include引用这个页面
并在现实的位置加入
<%= cut1(rs) %>
这样就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯