|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
下边是源程序: <script language=javascript runat=server> function trim(str)//去掉字符串的首尾空格 { var tmpStr=new String(str) return tmpStr.replace(/(^s*)|(s*$)/g, ""); } </script> <SCRIPT LANGUAGE=javascript RUNAT=Server> // ************************************************************************ // Script Compont Object Model // Design for Active Server Pages // // Copyright 2003 Version 1.0 // Made by yinShuGuang // All Rights Reserved. // ************************************************************************ function JPageNavbar(){ _LB__Prototype(); } function _LB__Prototype() { // public members JPageNavbar.prototype.PageSize="0" JPageNavbar.prototype.RecordCount="0" //总记录数 JPageNavbar.prototype.PageCount="1" //总页数 JPageNavbar.prototype.CurrentPage="1" JPageNavbar.prototype.PnWidth="100%" JPageNavbar.prototype.PnAlign="right" JPageNavbar.prototype.PlWidth="100%" //表格宽度 JPageNavbar.prototype.PlAlign="right" // 表格的对齐方法 // private members //public methods JPageNavbar.prototype.getCurrentPage=_getCurrentPage JPageNavbar.prototype.pnDisplay = _PN_show; JPageNavbar.prototype.plDisplay = _PL_show; //private methods //scope implementation in _LB__Prototype function function _getCurrentPage(){ var pageNo=new String() //当前显示的是第几页 //取得当前页 pageNo = Request.QueryString ("PageNo") pageNo=fTrim(pageNo) //假如没有选择第几页,则默认显示第一页; if (pageNo=="") { pageNo = 1 } this.CurrentPage=pageNo return pageNo } function _PL_show(){ var strBuilder=new String() strBuilder="" var p=(this.CurrentPage-(this.CurrentPage%10))/10 //计算分页显示的页数 //首组为第0族 strBuilder+="<table border="0" cellpadding="0" cellspacing="0" " strBuilder+=" width=""+this.PlWidth+"" align=""+this.PlAlign+"">" strBuilder+=" <tr> " strBuilder+=" <td valign="middle" align="right">分页:" if (this.CurrentPage==1){ strBuilder+="<font face="webdings" color="#ff0000">9</font> " } else{ strBuilder+="<a href="?PageNo=1" title="首页"><font face="webdings">9</font></a> " } //上十页 if (p*10>0){ strBuilder+="<a href="?PageNo="+(p*10)+"" title=上十页><font face="webdings">7</font></a> " } strBuilder+="<b>" //分页列表 for(var i=p*10+1;i<=p*10+10;i++){ if (i==this.CurrentPage){ strBuilder+="<font color="#000000">"+i+"</font> " } else{ strBuilder+="<a href=?PageNo="+i+" title="转到: 第"+i+"页">"+i+"</a> " } if (i>=this.PageCount) break; } strBuilder+= "</b>" //显示下十页 if (i<this.PageCount){ strBuilder+="<a href="?PageNo="+i+"" title="下十页"><font face="webdings">8</font></a> " } //显示尾页 if (this.CurrentPage==this.PageCount){ strBuilder+= "<font face="webdings" color="#000000">:</font> " } else{ strBuilder+= "<a href=?PageNo="+this.PageCount+" title="尾页"><font face="webdings">:</font></a> " } strBuilder+= "</td></tr></table>" Response.Write(strBuilder) } function _PN_show(){ var strBuilder=new String() var nextPageNo strBuilder="" strBuilder+="<table border="0" cellpadding="0" cellspacing="0" " strBuilder+=" width=""+this.PnWidth+"" align=""+this.PnAlign+"">" strBuilder+="<tr>" strBuilder+="<td valign="middle">页次: [<b>"+this.CurrentPage+"</b>/<b>"+this.PageCount+"</b>]页 每页[<b>"+this.PageSize+"</b>]条 总记录 数:[<b>"+this.RecordCount+"</b>]条</td>" strBuilder+="<td align="right">" if (this.CurrentPage>1){ nextPageNo=this.CurrentPage nextPageNo-- strBuilder+="[<a href=?pageNo="+nextPageNo+" title="转到上一页">上一页</a>]" } if (this.CurrentPage<this.PageCount){ nextPageNo=this.CurrentPage nextPageNo++ strBuilder+="[<a href=?pageNo="+nextPageNo+" title="转到下一页">下一页</a>]" } strBuilder+="</td></tr></table>" Response.Write(strBuilder) } } </SCRIPT> 在调用这个对象之时,注重保存sql语句的查询条件下面我的解决方式: <@language=JavaScript> var tj=trim(Request.Form("tj")) //或 var tj=trim(Request.QueryString("tj")) if (tj==""){ //表明不是从查询页传过来的条件,而是从分页导向过来 tj=trim(Session("tj")) } else{ //注重保存条件 Session("tj")=tj } 这仅是一个基本的解决思路,碰到实际情况您可要详细问题详细分析 下边是对象的调用过程 //Ado.RecordSet记录分页对象 //设置分页 var RowCount =3 var fy=new JPageNavbar() //创建对象 if (!rsRpt.Eof){ rsRpt.PageSize = RowCount //设置数据集的页记录 fy.PageSize=RowCount rsRpt.AbsolutePage =fy.getCurrentPage() fy.RecordCount=rsRpt.RecordCount fy.PageCount=rsRpt.pageCount } //显示分页 <%fy.pnDisplay() //这是一个具有上一页,下一页方法的导航%> <%fy.plDisplay() // 这是一个具有页码列表的导航%> 返回类别: 教程 上一教程: ASP中巧用RESPONSE存取文件 下一教程: 使用XML和SQL SERVER 2000治理存储过程调用 您可以阅读与"ASP分页的基于对象的解决"相关的教程: · 个人主页的数据库解决方案ASP · ASP中怎么添加验证码的解决方式 · ASP乱码的解决方式 · FLASH和ASP分页的一点心得 · 面向对象的ASP编程之五-ADODB的类封装 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |