分页问题终于解决!
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??
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??
相关文章推荐
- 图形在移动中会闪烁的问题终于解决了
- DWZ】常见问题解决 对话框 查找带回 分页问题 选择分页大小无效问题
- 在连接mysql5.1时正常,连接sql2000时就是连不上,郁闷,终于在网上找到了解答,原来是sql驱动和hibernate的兼容 性问题,现问题已解决,留此文备查.
- 终于解决H3C交换机reset saved-configuration后不能启动的问题
- 困扰我多次的内存溢出问题终于解决了
- qt 在win8 win10下不能拖拽文件到程序的问题 终于找到答案了 因为把程序的权限设置太高了.解决方法,降低运行权限
- 终于解决了,VMware中安装Windows分区的问题。
- 如何解决easyui-datagrid分页组件中文显示的问题
- 折磨死人的Dell计算机的安装问题终于解决了
- WCF RIA Services 部署问题,费了2天终于解决了,先把经验分享
- 困扰我3天的问题终于解决了!
- Telnet 1521端口连接失败问题,经过四天的努力终于解决!
- Linking 问题终于解决了.
- 困惑了我N久的泡泡堂无法正常运行的问题终于解决了
- 程序终于编译过去了,记录下碰到的问题及解决方法
- 仿Launch的 分页滑动,解决上下左右冲突问题
- JSP编程] 解决MVC下分页显示的问题
- 终于部分解决了.NET Drawing.Printing中自定义PaperSize的问题
- AMD处理器安装RVDS2.2破解方法 (找了很久,该贴终于解决这个问题)