在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) %> |
|