在asp中,分页使用的最多的程序段了,把分页写成函数,调用起来,要传很多参数,写成对象,可以使分页
对象调用简单,本文在参考众多网友的分页函数基础上,用javascript把它写成了一个对像放于文件
夹"_ScriptCom"下,文件名为"JPageNavbar.asp",先看一下分页对象的调用方式(由于大多数的asp开发人员使
用vbscript,所以本文的实例采用vbscript编写):
<%@LANGUAGE="VBSCRIPT" %>
<!--#include file="../connections/dbconn.asp" -->
<!--#include file="../_ScriptCom/FAdodb.asp" -->
<!--#include file="../_ScriptCom/FSession.asp" -->
<!--#include file="../_ScriptCom/JPageNavbar.asp" -->
<%
Response.Buffer=true
on error resume next
if trim(Request.ServerVariables("REQUEST_METHOD")) = "POST" then
'取得查询字符串
chxstr=readForm("chxstr")
xshstr=readForm("xshstr")
r1=readForm("R1")
'保存查询条件
session("r1")=r1
session("chxstr")=chxstr
session("xshstr")=xshstr
else
如果不是从form提交,则是分页,从session取的查询条件
r1=readSession("r1")
chxstr=readSession("chxstr")
xshstr =readSession("xshstr")
end if
'这里是一些关于业务的逻辑运算
if xshstr=empty then
xshstr ="查询所有记录"
end if
select case r1
case 1 '在校学生
sql=" select * from v_student_base where graduate=0"
if chxstr<>empty then
sql=sql+" and "+ chxstr
end if
cddr="在校学生"
case 2 ' 毕业学生
sql=" select * from v_student_base where graduate=1"
if chxstr<>empty then
sql=sql+" and "+ chxstr
end if
cddr="毕业学生"
case 0 '全部学生
if chxstr<>empty then
sql="select * from v_student_base where"+" "+chxstr
else
sql="select * from v_student_base"
end if
cddr="全部学生"
case else
response.write "系统参数错误,请与系统管理员联系!"
response.End
end select
'生成connection 和 Recordset
set conn=connCreate(getDBLink())
set rs=rsCreate()
rs.open sql,conn,1,3
if (rs.eof ) then
show_msg "很遗憾,没有您要的记录!",4,"infoQuery.asp"
end if
dim gd(1)
gd(0)="未毕业"
gd(1)="已毕业"
'***************************************************************************
'注意:这里是分页
RowCount =15
set fy=createJPageNavbar()
if (not isEmpty(rs)) then
rs.PageSize = RowCount '设置数据集的页记录
fy.PageSize=RowCount
rs.AbsolutePage =fy.getCurrentPage()
fy.RecordCount=rs.RecordCount
fy.PageCount=rs.pageCount
fy.PnWidth="100%"
fy.PnAlign="center"
fy.PlWidth="100%" '表格宽度
fy.PlAlign="right" ' 表格的对齐方式
end if
'***********************************************************************************
%>
<HTML>
<HEAD>
<TITLE>学生信息查询</TITLE>
<link href="../css/style.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY text="#000000" bgColor="#ffffff" leftMargin="0" topMargin="0">
<br>
<TABLE width="550" border="1" cellspacing="0" cellpadding="1" align="center" class="t_table"
ID="Table1">
<TR>
<TD colspan="2" class="t_head"> :::学生信息搜索结果::: </TD>
</TR>
<TR>
<TD width="80%" align="left"><B>==>>查询条件:</B> <%=xshstr %></TD>
<TD width="20%" align="right"><INPUT type="button" value="返回" class="button"
onclick="gofind()" ID="Button1" NAME="Button1"> </TD>
</TR>
<TR>
<TD colspan="2"><table width="100%" border="0" cellpadding="1" cellspacing="0"
class="t_table" ID="Table2">
<tr align="center">
<td colspan="7"><%
'***************************************************
fy.pnDisplay() '分页的“上一页” “下一页”
'***********************************************************
%></td>
</tr>
<tr>
<td width="13%" class="t_head">学号</td>
<td width="11%" class="t_head">姓名</td>
<td width="8%" class="t_head">性别</td>
<td width="10%" class="t_head">年级</td>
<td width="20%" class="t_head">专业</td>
<td width="28%" class="t_head">二级学院</td>
<td width="10%" class="t_head">状态</td>
</tr>
<% i=0
'********************************************************
while (not rs.eof and i<RowCount) '控制一页显示的记录条数
'*********************************************************
%>
<tr>
<td width="13%" align="center"><a href="#" onclick="openWindow2('stu_msg.asp?
stu_num=<%= rs("stu_num")%>')"><%= rs("stu_num") %></a></td>
<td width="11%" align="center"><%= rs("name") %></td>
<td width="8%" align="center"><%= rs("sex") %></td>
<td width="10%" align="center"><%= rs("gread") %></td>
<td width="20%" align="center"><%= rs("speciality_name") %></td>
<td width="28%" align="center"><%= rs("secondary") %></td>
<td width="10%" align="center"><%=gd(rs("graduate")) %></td>
</tr>
<% i=i+1
rs.moveNext
wend %>
<tr align="right">
<td colspan="7"><%
'**************************************************************
fy.plDisplay() '分页列表
'**************************************************************
%></td>
</tr>
</table> </TD>
</TR>
</TABLE>
</BODY>
</HTML>
<%
rsNull(rs)
connNull(conn)
%>
||||||这里是分页显示的效果图(做了一下处理)
<SCRIPT LANGUAGE=javascript RUNAT=Server>
// ************************************************************************
// Script Compont Object Model
// Design for Active Server Pages
//
// Copyright 2003 Version 1.0
// Made by newsunet
// 请不要删除这一段注释,自由传播,保留所有权
// ************************************************************************
/*//Ado.RecordSet记录分页对象
//设