您的位置:首页 > 其它

分页问题终于解决!

2004-08-03 11:46 393 查看
// 在此处放置用户代码以初始化页面
XmlDocument xdoc=new XmlDocument();
xdoc.Load(Server.MapPath("db.xml"));

// 创建一个XslTransform对象并导入XSL文件
XslTransform xslt=new XslTransform();
xslt.Load(Server.MapPath("del.xsl"));

XsltArgumentList argsList = new XsltArgumentList();
//Retrieve the pageNumber from querystring
int pageNumber = Convert.ToInt32(Request.QueryString["pagenumber"]);
//Add the required parameters to the XsltArgumentList object
argsList.AddParam("recordsPerPage","",10);//每页显示参数
argsList.AddParam("pageNumber","",pageNumber);
argsList.AddParam("recordCount","",77);
//Invoke the transform method, passing in the XsltArgumentList object
xslt.Transform(xdoc,argsList,Response.Output);
上面是page_load
xsl这样写:
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<!--Set the paging characteristics - number of records per page and the page number and record count-->
<!-- Set the number of records per page-->
<xsl:variable name="recordsPerPage" select="77" />
<!-- Page Number field -->
<xsl:variable name="pageNumber" select="0" />
<!--Record Count Field-->
<xsl:variable name="recordCount" select="77" />
<xsl:template match="/">

<HTML>
<HEAD>
<TITLE>文件软件留言系统>>asp.net+xml构成!</TITLE>
</HEAD>
<BODY>

<span align="center" style="color:Blue;background-color:White;font-weight:bold;height:25px;width:634px;Z-INDEX: 102; LEFT: 203px; POSITION: absolute; TOP: 69px"> 文华软件留言系统ASP.NET+XML版2.0
</span>

<table style="Z-INDEX: 101; LEFT: 171px; WIDTH: 501px; POSITION: absolute; TOP: 125px; HEIGHT: 322px" border="1" cellSpacing="1" cellPadding="1">
<center>
<xsl:for-each select="//guest">
<!--this performs the output in table format - and shows only that many records specified in the recordcount variable -->

<xsl:if test="position() > $recordsPerPage * number($pageNumber) and position() <= number($recordsPerPage * number($pageNumber) + $recordsPerPage)">
<!-- Each record on a seperate row -->

<xsl:element name="tr">

<xsl:element name="td"> <xsl:value-of select="Name" />
</xsl:element>

<xsl:element name="td">
<xsl:value-of select="Name" />
</xsl:element>

<xsl:element name="td">
<xsl:attribute name="align">center</xsl:attribute>
<xsl:value-of select="Country" />
</xsl:element>

<xsl:element name="td">
<xsl:attribute name="align">center</xsl:attribute>
<xsl:value-of select="Email" />
</xsl:element>

<xsl:element name="td">
<xsl:attribute name="align">center</xsl:attribute>
<xsl:value-of select="Comments" />
</xsl:element>

</xsl:element>
</xsl:if>
</xsl:for-each>
</center>
</table>
<!-- Start Of Show previous/next page links-->
<!-- Show the previous page, only if pageNumber>0 -->
<span style="Z-INDEX: 101; LEFT: 261px; WIDTH: 501px; POSITION: absolute; TOP: 500px; HEIGHT: 62px">
<xsl:if test="$pageNumber > 0">
<xsl:element name="a">
<xsl:attribute name="href">?pagenumber=<xsl:value-of select="number($pageNumber)-1" />
</xsl:attribute> << 上一页
</xsl:element>
       
</xsl:if>

<!-- Next page, do not show when at end() of listing -->
<xsl:if test="($recordCount - ((1+number($pageNumber)) * $recordsPerPage))> 0">
<xsl:element name="a">
<xsl:attribute name="href">?pagenumber=<xsl:value-of select="number($pageNumber)+1" />
</xsl:attribute> 下一页 >>
</xsl:element>
</xsl:if>
<!-- End Of Show previous/next page links-->
</span>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>

但是有一个毛病就是.他不知道最后一页!老是显示nextpage??
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: