我总结的代码
 
本代码格式可以作为显示列表性质的页面代码模板.即页面中有列表性质的页面,带查询的。
 
本代码模板,支持列表页中有查询模块,支持查询结果的分页等功能.
 
<%
'看一下前面是不是此页。如果不是本页就要清空本页用到查询cookies
'注意:查询表单(form)的action要设置为本页的名字,可以有其他参数,但注意一定不要添加page参数.
if instr(request.ServerVariables("HTTP_REFERER"),"zwselect.asp")=0 then  '页面文件名
   '清空标记查询信息 
   '建议cookies的名字要加上cx前缀

   response.cookies("cxzwname")=""
   response.cookies("cxqyname")=""
end if
numperpage=20   '每页的数量
currentpage=trim(request.QueryString("page")) '取得当前页

zwname=""
 
'获得查询的限制条件
if currentpage="" then '直接进来,或从查询页面(所以要求
   srchsql=getFormSQL()
else  '可能为1,是由下面页导航进来的。或从本页查询来
   srchsql=getCookiesSQL()
end if

'从form中构造查询语句,并设置cookies,以备其他页使用
function getFormSQL()
   getFormSQL=""   
   zwname=cfilter(request.form("zwname"))
   qyname=cfilter(request.form("qyname"))

   response.cookies("cxzwname")=zwname  '即使zwname 为空,也要清空相应cookies.一定要写为空,因为如果用本页查询过一次,再一次查询时,要清空上次的.否则在显示第一页时没有问题,但到第二页时,第一次查询写的cookies就又起作用了.因此,必须将相应cookies清空
  if zwname<>""then
       tjsql=tjsql & " and zwname  like '%" & zwname & "%'"
  end if
  response.cookies("cxqyname")=qyname
  if qyname<>"" then
     tjsql=tjsql & " and rname like '%" & qyname & "%'"
  end if  

  if tjsql<>"" then tjsql=right(trim(tjsql),len(tjsql)-4) 
  getFormSQL=tjsql 
end function
'从cookie中构造查询语句,一般是从分页导航处来到此页。
function getCookiesSQL()
   getCookiesSQL=""    
   zwname=cfilter(request.cookies("zwname"))
   qyname=cfilter(request.cookies("qyname"))  
   if zwname<>""then  
       tjsql=tjsql & " and zwname  like '%" & zwname & "%'"
   end if  
   if qyname<>"" then  
      tjsql=tjsql & " and rname like '%" & qyname & "%'"
    end if 
    if tjsql<>"" then tjsql=right(trim(tjsql),len(tjsql)-4) 
    getCookiesSQL=tjsql 
end function
%>
 
<!--搜索区-->
<form name="form1" action="zwselect.asp" method="post">  '此处的action一定要设为本页的名字
  <tr>
    <td width="34"><input type="submit" name="Submit" value="搜索"></td>
    <td width="85"><input name="zwname" type="text" class="text1" id="zwname" value="<%=zwname%>"></td>
    <td width="123"><input name="qyname" type="text" class="text3" id="qyname"></td>
    <td width="27">&nbsp;</td>
    <td width="150"><input name="gwyq" type="text" id="gwyq"></td>
    <td width="150"><input name="dy" type="text" id="dy"></td>
    <td width="382"><input name="gzqk" type="text" id="gzqk"></td>
  </tr>
</form>
<!--搜索区结束-->
 
<!--显示部分-->
<table width="100%" border="1" cellpadding="2" cellspacing="0" bgcolor="#ffffff" style="margin:0px;">                  '显示的头部,可以随意修改
  <tr>
    <td width="34">选择</td>
    <td>职位名</td>
    <td>单位</td>
    <td>计划</td>
    <td>岗位要求</td>
    <td>待遇</td>
    <td>编制情况</td>
  </tr>
  <%
  sql="select rname,zw.id,zwname,zprs,gwyq,dy,bzqk from zw left join qyinfo on zw.qyid=qyinfo.id"
  if srchsql<>"" then sql=sql & " where " & srchsql
 
  set rs=server.CreateObject("adodb.recordset")
  rs.open sql,conn,1,1
  if not rs.eof then
  rs.pagesize=numperpage
  ttlpage=rs.pagecount
  recordnum=rs.recordcount
  if currentpage="" then currentpage=1  
  if cint(currentpage)>ttlpage then currentpage=ttlpage
  i=(currentpage-1)*numperpage
  maxi=currentpage*numperpage
  
  rs.move i
  i=i+1
  do while not rs.eof   
  %>
 <tr>
    <td height="24"><input name="zwid" type="checkbox" id="zwid" value="<%=rs("id")%>" onClick="setValue(this)"></td>
    <td><%=rs("zwname")%></td>
    <td><%=rs("rname")%></td>
    <td><%=rs("zprs")%></td>
    <td><%=rs("gwyq")%></td>
    <td><%=rs("dy")%></td>
    <td><%=rs("bzqk")%></td>
  </tr>
  <%
i=i+1
if i>maxi then exit do
   rs.movenext
   loop
  else
   ttlpage=0
 recordnum=0
   response.Write "<tr><td colspan=7>没有职位</td></tr>"
  end if
rs.close
set rs=nothing
  %>
  <tr>
    <td colspan="2" align="center"> <a href="#" onClick="self.close()">关闭窗口</a></td>
    <td colspan="5"><%call pager(currentpage,ttlpage,recordnum,"") %></td>   '调用分页代码
  </tr>
</table>
<!--显示结束-->
 
<!--分页导航代码-->
<%
'@@@@@@@@@@@@@@@@@@@@@@@
'分页程序,
'当前页,总页数,每页多少条记录
'表格的样式表.
'@@@@@@@@@@@@@@@@@@@@@@@
sub pager(curpage,ttlpage,recordnum,cls)
   pagefile=request.ServerVariables("SCRIPT_Name")
   qrystring=request.ServerVariables("QUERY_STRING") 
   if qrystring="" then
      pagefile=pagefile & "?page="
   else
        if instr(qrystring,"page=")>0 then
           '修改页面属参数
           ss=split(qrystring,"&")
           for i=0 to ubound(ss)
              if instr(ss(i),"page=")>0 then ss(i)=""
           next
           quryArry=join(ss,"&")
           pagefile=pagefile & "?" & quryArry & "page="   
       else
           pagefile=pagefile & "?" & qrystring & "&page="
       end if  
 end if
 
 if curpage="" or curpage<"0" then curpage=1
 if ttlpage=0 then curpage=0

 response.write "<table class=""" & cls & """ border=0 style=""text-align:center""><tr>"
 if curpage>1 then
    response.write "<td><a href=""" & pagefile & "1"">首&nbsp;&nbsp;页</a></td>"
    response.write "<td><a href=""" & pagefile & (curpage -1) & """>上一页</a></td>"
 else
    response.write "<td>首&nbsp;&nbsp;页</td>"
    response.write "<td>上一页</td>" 
 end if
 if cint(curpage)<cint(ttlpage) then
    response.write "<td><a href=""" & pagefile & (curpage +1) & """>下一页</a></td>"
    response.write "<td><a href=""" & pagefile & ttlpage & """>尾&nbsp;&nbsp;页</a></td>"
 else
    response.write "<td>下一页</td>"
    response.write "<td>尾&nbsp;&nbsp;页</td>"
 end if
 response.write "<td>&nbsp;</td>"
 response.write "<td>" & curpage & "/" & ttlpage & "&nbsp;共" & recordnum & "条记录</td>"
 response.write "</tr></table>" 
end sub
%>