新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → 用XSL和ASP实现分页功能 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2040 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 用XSL和ASP实现分页功能 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     hsower 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      威望:7
      等级:大四寒假(收到IBM的Offer啦)
      文章:72
      积分:1606
      门派:XML.ORG.CN
      注册:2004/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hsower发送一个短消息 把hsower加入好友 查看hsower的个人资料 搜索hsower在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hsower的博客楼主
    发贴心情 用XSL和ASP实现分页功能

    asp文件大致结构:
    <%@ Language=VBScript %>
    <!-- #include file=include/lib.asp -->
    <%
    cc=server.MapPath("trans.xml")
    set source=server.CreateObject("msxml2.domdocument")
    source.async=false
    source.load(cc)

    xslfile=server.MapPath("index.xsl")
    set style=server.CreateObject("msxml2.domdocument")
    style.async=false
    style.load(xslfile)

    "Response.write source.transformNode(style)
    Response.write gb_html(source.transformNode(style))
    Response.End
    %>
    load进来的xml数据是这样的:
    <?xml version="1.0" encoding="GB2312" ?>
    <root>
    <function>
    <PO>里面的标签在后面的xsl文件里被"<xsl:for-each>"</PO>
    <PO>……………………</PO>
    <PO>……………………</PO>
    <PO>……………………</PO>
    </function>
    </root>
    ------------------------------------
    xsl文件的内容:

    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:include href="include/ydzhongxin.xsl"/><!--  嵌入头模板,尾页模板  -->
    <xsl:param name="yd">7</xsl:param><!--  调用二级导航条所用参数 -->
    <xsl:param name="page">    <xsl:value-of select="count(//PO)"/></xsl:param>

    <!-- 定义根模板  -->
    <xsl:template match="/">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <link rel="stylesheet" type="text/css" href="include/style.css"/>
    <title>结果列表</title>
    </head>
    <body leftMargin="0" topMargin="0">
    <xsl:call-template name="ydtitle"/>

            <div align="center">
            <xsl:apply-templates select="root/function"/>
            <!--  匹配function模板  -->
            </div>

    <xsl:call-template name="end"/>
    </body>
    </html>
    </xsl:template>

    <!--  定义function模板  -->
    <xsl:template match="function">
    <!-- ---------------翻页链接开始----------- -->
    <xsl:variable name="pagesize">5</xsl:variable><!--  是分页参数 -->

    <xsl:choose>
    <xsl:when test="/root/session/page[text()!=""]">
    <!-- 进入一级choose的一个when条件分支!!!!!
    -------------进入此分支,证明用户已有翻页操作-------------- -->
    <xsl:variable name="page"><xsl:value-of select="/root/session/page"/></xsl:variable>
    <table border="0" cellpadding="2" cellspacing="0" width="630">
        <tr>
            <td align="right">
            <!-- 进入二级choose!!! -->
            <xsl:choose>
            <!-- ①id小于等于0的情况,显示最后一页。-->
            <xsl:when test="$pid&lt;1">
            <a>
           <xsl:attribute name="href">
            search_jieguo.asp?id=<xsl:value-of select="count(//PO)"/>
           </xsl:attribute>[ 首页 ]
        </a>
            <a title="前一页">
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="$size*2"/>
           </xsl:attribute>[ <<< ]
        </a>
            <a title="后一页">[ >>> ]
        </a>
            <a>[ 尾页 ]</a>
    </xsl:when>
            <!-- ②id位于[0~pagesize]之间的情况,前页正常,后页无。 -->
    <xsl:when test="$pid&lt;($size + 1) and $pid&gt;0">
            <a>
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="count(//PO)"/>
           </xsl:attribute>[ 首页 ]
        </a>
            <a title="前一页">
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="$pid+$size"/>
           </xsl:attribute>[ <<< ]
        </a>
            <a title="后一页">[ >>> ] </a>
            <a>[ 尾页 ]</a>
    </xsl:when>
            <!-- ③id位于[pagesize~count]之间的情况,前页无,后页正常。 -->
    <xsl:when test="$pid&lt;count(//PO) and $pid&gt;(count(//PO)-$size)">
            <a>
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="count(//PO)"/>
           </xsl:attribute>[ 首页 ]
        </a>
            <a title="前一页">
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="count(//PO)"/>
           </xsl:attribute>[ <<< ]
        </a>
            <a title="后一页">
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="$pid - $size"/>       
           </xsl:attribute>[ >>> ]
        </a>
            <a>
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="$size"/>
           </xsl:attribute>[ 尾页 ]
        </a>
    </xsl:when>
            <!-- ④id等于count的情况,显示首页页。 -->
    <xsl:when test="$pid=count(//PO)">
            <a>[ 首页 ]</a>
            <a title="前一页">[ <<< ] </a>
            <a title="后一页">
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="count(//PO)-$size"/>
           </xsl:attribute>[ >>> ]
        </a>
            <a>
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="$size"/>
           </xsl:attribute>[ 尾页 ]
        </a>
    </xsl:when>
            <!-- ⑤id大于count的情况,显示首页页。 -->
    <xsl:when test="$pid&gt;count(//PO)">
            <a>[ 首页 ]</a>
            <a title="前一页">[ <<< ] </a>
            <a title="后一页">
           <xsl:attribute name="href">
              search_jieguo.asp?id=<xsl:value-of select="count(//PO)-$size"/>
           </xsl:attribute>[ >>> ]
        </a>
            <a>
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="$size"/>
           </xsl:attribute>[ 尾页 ]
        </a>
    </xsl:when>

            <!-- 正常情况 -->
    <xsl:otherwise>
            <a>
          <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="count(//PO)"/>
          </xsl:attribute>[ 首页 ]
        </a>
            <a title="前一页">
          <xsl:attribute name="href">
            search_jieguo.asp?id=<xsl:value-of select="$pid + $size"/>
          </xsl:attribute>[ <<< ]
        </a>
            <a title="后一页">
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="$pid - $size"/>
            </xsl:attribute>[ >>> ]
        </a>
            <a>
           <xsl:attribute name="href">
             search_jieguo.asp?id=<xsl:value-of select="$size"/>
           </xsl:attribute>[ 尾页 ]
        </a>
    </xsl:otherwise>
    </xsl:choose>
       <!------------------------------------ -->
         </td>
         </tr>
        </table>
    <br/>
        <! ---------遍历符合要求的PO结点------------- -->
         <xsl:for-each select="PO[position()&lt;=$pid and position()&gt;($pid - $size)]">
               <xsl:sort select="PO_ID" order="descending" data-type="number"/>
                    <xsl:call-template name="PO"/>
                    <br/><br/><br/>
         </xsl:for-each>

    <!-- 退出一级choose的一个when条件分支!!!!! -->
    </xsl:when>
    <!-------------用户直接进入的状态-------------- -->
    <xsl:otherwise>
    <!-- 进入一级choose的另一个when条件分支!!!!! -->
    <table border="0" cellpadding="2" cellspacing="0" width="630">
    <tr>
    <td align="right">
      <a>[ 首页 ]</a>
      <a title="前一页">[ <<< ] </a>
      <a title="后一页">
        <xsl:attribute name="href">
          search_jieguo.asp?id=<xsl:value-of select="$pid - $size"/>
        </xsl:attribute>[ >>> ]
      </a>
      <a>
         <xsl:attribute name="href">
           search_jieguo.asp?id=<xsl:value-of select="$size"/>
         </xsl:attribute>[ 尾页 ]
      </a>
      </td>
    </tr>
    </table>
    <br/>
        <xsl:for-each select="PO[position()&lt;=$pid and position()&gt;($pid - $size)]">
                  <xsl:sort select="PO_ID" order="descending" data-type="number"/>
                    <xsl:call-template name="PO"/>
                    <br/><br/><br/>
         </xsl:for-each>

    <!-- 退出一级choose的另一个when条件分支!!!!! -->
    </xsl:otherwise>
    </xsl:choose>
            <!-- --------------翻页链接到此结束----------- -->
            <br/>
         <xsl:if test="count(//PO)=0">
         <div align="center">
         <b><img src="images/msg2.gif" align="absmiddle"/> </b>
         <font color="#CC0000" face="楷体CS" size="3"><b>
                         没有符合当前条件的订单</b></font>
          <a>
          <xsl:attribute name="href">
              lkxx.asp?po_id=<xsl:value-of select="PO_ID"/>
          </xsl:attribute>
       </a>
         </div>
       <br/><br/>
    <input type="button" value="重新输入条件询" onclick="location.href="search.asp""/>
          </xsl:if>
        </xsl:template>
    <!------------------------------------>
    <xsl:template name="PO">
      <table border="1" cellpadding="2" cellspacing="0" width="100%">
        <tr>
          <td nowrap="nowrap" width="70"> 号码</td>
          <td nowrap="nowrap" width="110"> 名称</td>
          <td nowrap="nowrap" width="110"> 日期</td>
          <td nowrap="nowrap" width="110"> 人员</td>
        </tr>
        <tr>
        <td nowrap="nowrap"> <xsl:value-of select="num"/></td>
        <td nowrap="nowrap"> <xsl:value-of select="username"/></td>
        <td nowrap="nowrap"> <xsl:value-of select="dt"/></td>
        <td nowrap="nowrap"> <xsl:value-of select="men"/></td>
        </tr>
      </table>
    </xsl:template>
    </xsl:stylesheet>


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/1/21 10:21:00
     
     GoogleAdSense狮子座1983-8-21
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2026/5/18 16:46:46

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms