欢迎光临
我们一直在努力

ASP项目中的公共翻页模块-ASP教程,ASP应用

建站超值云服务器,限时71元/月

在大型的asp项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。

设计方法:

1、调用该模块时,只需要传递记录集和每页显示的记录的条数;

2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页;

3、不要考虑文件名,程序的每次翻页都能在当前页面。

想清楚了上面3个问题,我们的公共翻页模块就可以动手了。

<%

+++++++++++++++++++++++++++++++++++++

◆模块名称: 公共翻页模块

◆文 件 名: turnpage.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")

如果没有选择第几页,则默认显示第一页;

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)

%>

<table border=0 width=100%>

<tr>

<td align=left> 总页数:<font color=#ff3333><%=totalpage%></font>页

当前第<font color=#ff3333><%=pageno%></font>页</td>

<td align="right">

<%if recordcount = 0 or totalpage = 1 then

response.write "首页|前页|后页|末页"

else%>

<a href="<%=filename%>?pageno=1">首页|</a>

<%if pageno – 1 = 0 then

response.write "前页|"

else%>

<a href="<%=filename%>?pageno=<%=pageno-1%>">前页|</a>

<%end if

if pageno+1 > totalpage then

response.write "后页|"

else%>

<a href="<%=filename%>?pageno=<%=pageno+1%>">后页|</a>

<%end if%>

<a href="<%=filename%>?pageno=<%=totalpage%>">末页</a>

<%end if%></td>

<td width=95>转到第

<%if totalpage = 1 then%>

<input type=text name=pageno size=3 readonly disabled style="background:#d3d3d3">

<%else%>

<input type=text name=pageno size=3 value="" title=请输入页号,然后回车>

<%end if%>页

</td>

</tr>

</table>

<%end sub%>

当然,大家可以把翻页的链接做成图片按钮,这样的话也面就更加美观了。

调用方法:

1、在程序开始或要使用翻页的地方包含翻页模块文件;

2、定义变量:rowcount,每页显示的记录条数

3、调用翻页过程:call turnpage(记录集,rowcount)

4、在do while 循环输出记录集的条件中加上" rowcount > 0 " 条件

5、在循环结束 "loop前" 加上: rowcount = rowcount – 1

—————————————————–

调用范例:

文件名:news.asp

<%

dim conn,rs_news

set conn = server.createobject("adodb.connection")

conn.open "cpm","cpm","cpm"

dim sql

sql = "select * from news"

set rs_news = server.createobject("adodb.recordset")

rs_news.open sql,conn,1,3 获取的记录集

公共翻页模块开始%>

<!–#include file=../public/turnpage.asp–>

<%

dim rowcount

rowcount = 10 每页显示的记录条数

call turnpage(rs_news,rowcount)

公共翻页模块结束%>

<table width=100%>

<tr>

<td>新闻编号</td>

<td>新闻标题</td>

<td>发布日期</td>

<tr>

<%

if not rs_news.eof

do while not rs_news.eof and rowcount>0

%>

<tr>

<td><%=rs_news("id")%></td>

<td><%=rs_news("name")%></td>

<td><%=rs_news("date")%></td>

<tr>

<%

rowcount = rowcount – 1

rs_news.movenext

loop

end if

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP项目中的公共翻页模块-ASP教程,ASP应用
分享到: 更多 (0)