当前位置:RL首页 >> 电脑学院 >> 网页制作 >> 正文
基于组件的asp编程之二--分页对象
来源:csdn 时间:2004-8-23 14:15:22
    在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>==&gt;&gt;查询条件:</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)
%>
】【发表评论】【关闭窗口
 ■相关文章
今日热点
今日社区精选