分页技术

问题描述

我想要一个带:首页|上一页|下一页|尾页-共1页|正在第1页GO的分页代码?请高手指点谢谢~~~~~~

解决方案

解决方案二:
用AspNetPager可以,很简单的.找一个DLL直接可以使用.
解决方案三:
找一个源码或者例子也行,谢谢了
解决方案四:
我正在用的,参考一下,不要嫌我的代码太丑了-__-!!///<summary>///产生翻页导航HTML///</summary>///<paramname="totalEntries">条目总数</param>///<paramname="pageSize">页条目大小</param>///<paramname="currentPage">当前页码</param>///<paramname="navigationUrl">导航URL,如view.aspx?cat=aspx</param>///<paramname="classNameForInvalid">为无效导航元素添加CSS类名</param>///<returns>HTML代码</returns>publicstaticstringGeneralPageNavigation(inttotalEntries,intpageSize,intcurrentPage,stringfirstPageFormat,stringlastPageFormat,stringnextPageFormat,stringpreviousPageFormat,stringtotalPagesFormat,stringnowAtFormat,stringclassNameForInvalid){inttotalPages;StringBuildersbAll=newStringBuilder();/**两种情况*条目记录<=每页数量*/if(totalEntries<pageSize||totalEntries==pageSize){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">首页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">上一页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">下一页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">尾页</span>-共1页|正在第1页</span>");returnsbAll.ToString();}else{if(totalEntries%pageSize!=0)totalPages=totalEntries/pageSize+1;elsetotalPages=totalEntries/pageSize;sbAll.Append(string.Format(firstPageFormat,1));sbAll.Append("|");if(currentPage==1){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">上一页</span>|");}else{sbAll.Append(string.Format(previousPageFormat,currentPage-1));sbAll.Append("|");}//endofifif(currentPage<totalPages){sbAll.Append(string.Format(nextPageFormat,currentPage+1));sbAll.Append("|");}else{sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">下一页</span>|");}//endofifsbAll.Append(string.Format(lastPageFormat,totalPages));sbAll.Append(string.Format(totalPagesFormat,totalPages));sbAll.Append(string.Format(nowAtFormat,currentPage));returnsbAll.ToString();}//endofif}publicstaticstringGeneralPageNavigation(inttotalEntries,intpageSize,intcurrentPage,stringnavigationUrl,stringclassNameForInvalid,stringfirstPage,stringlastPage,stringpreviousPage,stringnextPage,stringtotalPagesFormat,stringnowAt){inttotalPages;StringBuildersbAll=newStringBuilder();/**两种情况*条目记录<=每页数量*/if(totalEntries<pageSize||totalEntries==pageSize){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(firstPage);sbAll.Append("</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(nextPage);sbAll.Append("</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(previousPage);sbAll.Append("</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(lastPage);sbAll.Append("</span>-");sbAll.Append(string.Format(totalPagesFormat,1));sbAll.Append(string.Format(nowAt,1));sbAll.Append("</span>");returnsbAll.ToString();}else{totalPages=totalEntries/pageSize+1;sbAll.Append("<ahref="");sbAll.Append(navigationUrl);sbAll.Append("&page=1">");sbAll.Append(firstPage);sbAll.Append("</a>|");if(currentPage==1){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(previousPage);sbAll.Append("</span>|");}else{sbAll.Append("<ahref="");sbAll.Append(navigationUrl);sbAll.Append("&page=");sbAll.Append(currentPage-1);sbAll.Append("">");sbAll.Append(previousPage);sbAll.Append("</a>|");}//endofifif(currentPage<totalPages){sbAll.Append("<ahref="");sbAll.Append(navigationUrl);sbAll.Append("&page=");sbAll.Append(currentPage+1);sbAll.Append("">");sbAll.Append(nextPage);sbAll.Append("</a>|");}else{sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">");sbAll.Append(nextPage);sbAll.Append("</span>|");}//endofifsbAll.Append("<ahref="");sbAll.Append(navigationUrl);sbAll.Append("&page=");sbAll.Append(totalPages);sbAll.Append("">");sbAll.Append(lastPage);sbAll.Append("</a>-");sbAll.Append(string.Format(totalPagesFormat,totalPages));sbAll.Append("|");sbAll.Append(string.Format(nowAt,currentPage));returnsbAll.ToString();}//endofif}

解决方案五:
AspNetPager没有上一页下一页Go经理说就要:首页上一页下一页尾页GO这样的
解决方案六:
///<summary>///产生翻页导航HTML///</summary>///<paramname="totalEntries">条目总数</param>///<paramname="pageSize">页条目大小</param>///<paramname="currentPage">当前页码</param>///<paramname="navigationUrl">导航URL,如view.aspx?cat=aspx</param>///<paramname="classNameForInvalid">为无效导航元素添加CSS类名</param>///<returns>HTML代码</returns>publicstaticstringGeneralPageNavigation(inttotalEntries,intpageSize,intcurrentPage,stringfirstPageFormat,stringlastPageFormat,stringnextPageFormat,stringpreviousPageFormat,stringtotalPagesFormat,stringnowAtFormat,stringclassNameForInvalid){inttotalPages;StringBuildersbAll=newStringBuilder();/**两种情况*条目记录<=每页数量*/if(totalEntries<pageSize||totalEntries==pageSize){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">首页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">上一页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">下一页</span>|<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">尾页</span>-共1页|正在第1页</span>");returnsbAll.ToString();}else{if(totalEntries%pageSize!=0)totalPages=totalEntries/pageSize+1;elsetotalPages=totalEntries/pageSize;sbAll.Append(string.Format(firstPageFormat,1));sbAll.Append("|");if(currentPage==1){sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">上一页</span>|");}else{sbAll.Append(string.Format(previousPageFormat,currentPage-1));sbAll.Append("|");}//endofifif(currentPage<totalPages){sbAll.Append(string.Format(nextPageFormat,currentPage+1));sbAll.Append("|");}else{sbAll.Append("<spanclass="");sbAll.Append(classNameForInvalid);sbAll.Append("">下一页</span>|");}//endofifsbAll.Append(string.Format(lastPageFormat,totalPages));sbAll.Append(string.Format(totalPagesFormat,totalPages));sbAll.Append(string.Format(nowAtFormat,currentPage));returnsbAll.ToString();}//endofif

解决方案七:
直接写一个分页存储过程,界面上摆上那个一个按钮就ok
解决方案八:
3楼的是不是重复了?
解决方案九:
晕,你不会吧"<<"换成"上一页"你要的在属性里面都可以设置出来的.好好看一下属性!!
解决方案十:
AspNetPage
解决方案十一:
AspNetPagerOK的...经理的毛病挺多的...
解决方案十二:
AspNetPager这么好的分页控件都不用,准备用什么啊
解决方案十三:
让你们经理给写一个.让大家看看,NND,刁难人呢!!!
解决方案十四:
TO:3楼的是不是重复了?-----------呵呵,那方法我写了三个重载,也不知道哪个好,效率不同,灵活程度不同.使用很简单的,你只要传递几个参数而已.直接跳转到第XX页是另外一段HTML+JS的.<inputtype="text"id="txtTargetPage"class="CText"onkeypress="if(event.keyCode==13){changePage('category.aspx?cat=<%=curCat%>',this.value);returnfalse;}"onmouseover='this.focus()'/><inputtype="button"value="GO"class="CButton"onclick="changePage('category.aspx?cat=<%=curCat%>',txtTargetPage.value)"/>[code][code=JScript]functionchangePage(sUrlPrefix,sTargetPage){if(!isNaN(sTargetPage))location.href=sUrlPrefix+"&page="+sTargetPage;}

解决方案十五:
GridView控件,前台<asp:GridViewID="GridView1"runat="server"AllowPaging="True"PageSize="20"OnPageIndexChanging="GridView1_PageIndexChanging"><Columns>......</Columns><pagertemplate><tablewidth="100%"><tr><tdstyle="text-align:right">第<asp:Labelid="lblPageIndex"runat="server"text='<%#((GridView)Container.Parent.Parent).PageIndex+1%>'/>页共/<asp:Labelid="lblPageCount"runat="server"text='<%#((GridView)Container.Parent.Parent).PageCount%>'/>页<asp:linkbuttonid="btnFirst"runat="server"causesvalidation="False"commandargument="First"commandname="Page"text="首页"/><asp:linkbuttonid="btnPrev"runat="server"causesvalidation="False"commandargument="Prev"commandname="Page"text="上一页"/><asp:linkbuttonid="btnNext"runat="server"causesvalidation="False"commandargument="Next"commandname="Page"text="下一页"/><asp:linkbuttonid="btnLast"runat="server"causesvalidation="False"commandargument="Last"commandname="Page"text="尾页"/><asp:textboxid="txtNewPageIndex"runat="server"width="20px"text='<%#((GridView)Container.Parent.Parent).PageIndex+1%>'/><asp:linkbuttonid="btnGo"runat="server"causesvalidation="False"commandargument="-1"commandname="Page"text="GO"/><!--heresettheCommandArgumentoftheGoButtonto'-1'astheflag--></td></tr></table></pagertemplate></asp:GridView>后台代码:protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridViewtheGrid=senderasGridView;//refertotheGridViewintnewPageIndex=0;if(-2==e.NewPageIndex){//whenclickthe"GO"ButtonTextBoxtxtNewPageIndex=null;//GridViewRowpagerRow=theGrid.Controls[0].Controls[theGrid.Controls[0].Controls.Count-1]asGridViewRow;//refertoPagerTemplateGridViewRowpagerRow=theGrid.BottomPagerRow;//GridView较DataGrid提供了更多的API,获取分页块可以使用BottomPagerRow或者TopPagerRow,当然还增加了HeaderRow和FooterRow//updatedat2006年6月21日3:15:33if(null!=pagerRow){txtNewPageIndex=pagerRow.FindControl("txtNewPageIndex")asTextBox;//refertotheTextBoxwiththeNewPageIndexvalue}if(null!=txtNewPageIndex){newPageIndex=int.Parse(txtNewPageIndex.Text)-1;//gettheNewPageIndex}}else{//whenclickthefirst,last,previousandnextButtonnewPageIndex=e.NewPageIndex;}//checktopreventformtheNewPageIndexoutoftherangenewPageIndex=newPageIndex<0?0:newPageIndex;newPageIndex=newPageIndex>=theGrid.PageCount?theGrid.PageCount-1:newPageIndex;//specifytheNewPageIndextheGrid.PageIndex=newPageIndex;DataSetds=this.getData();//获得数据源DataSettheGrid.DataSource=ds;//重新绑定theGrid.DataBind();//rebindthecontrol//inthiscaseofretrievingthedatausingthexxxDataSoucrcontrol,//justdonothing,becausetheasp.netenginebindsthedataautomatically}

时间: 2024-09-30 14:51:22

分页技术的相关文章

菜鸟十天学会ASP教程之第十天:分页技术

分页|教程|十天学会 上一节:Session组件 学习目的:分页技术 今天最后一天我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧. <%exec="select * from test"set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1rs.PageSize=3pagecount=rs.PageCount page=

用Dreamweaver和ASP实现分页技术的参考

dreamweaver|参考|分页 今天心情有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只有"第一页,前一页,下一页,最后一页"的小痛苦 此效果最后的显示是:第N页[共*页] <<1 2 3 4 5 6 7 8 9 10 >>. 用DW+ASP做网页时,在绑定记录集后,代码页里马上出现以下代码: <%  Dim Recordset1  Dim Recordset1_numRows  Se

用Dreamweaver+ASP实现分页技术的参考

dreamweaver|参考|分页 今天心情有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只有"第一页,前一页,下一页,最后一页"的小痛苦 此效果最后的显示是:第N页[共*页] <<1 2 3 4 5 6 7 8 9 10 >>. 用DW+ASP做网页时,在绑定记录集后,代码页里马上出现以下代码: <%  Dim Recordset1  Dim Recordset1_numRows  Se

JSP分页技术实现

js|分页 JSP分页技术实现 目前比较广泛使用的分页方式是将查询结果缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示.这种方法有两个主要的缺点:一是用户可能看到的是过期数据:二是如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降. 其它常见的方法还有每次翻页都查询一次数据库,从ResultSet中只取出一页数据(使用rs.last();rs.getRow()获得总计录条数,使用rs.absolute()定位到本页

ASP学习之透彻掌握ASP分页技术

近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看效果 ! 看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页&q

MySQL分页技术、6种分页方法总结

  这篇文章主要介绍了MySQL分页技术.6种分页方法总结,本文总结了6种分页的方法并分别一一讲解它们的特点,需要的朋友可以参考下 概述 有朋友问: MySQL的分页似乎一直是个问题,有什么优化方法吗? 网上看到赶集网XX推荐了一些分页方法,但似乎不太可行,你能点评一下吗? 方法总结 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺点: 全表扫描

ADO.NET应用层分页技术

  应用层分页技术 在应用层/逻辑层缓存数据,并进行数据的分段显示 由代码完成 优点:查询数据次数少,每次返回结果快 缺点:第一次查询满,占用应用层内存资源 方式 1.GridView 使用GridView分页功能 启用XxxDataSourece的缓存功能(EnableCaching) 2.DataPager .Net3.5的新控件 更加灵活的分页 3.LinQ 自定义数据绑定 使用LINQ进行查询 使用Skip()和Take()进行查询

PHP+Ajax实现分页技术

PHP+Ajax实现分页技术: 基于php和ajax的分页技术代码,下面有两个php文件,一个是sn_inq.php,另一个是sn_show.php,前一个php文件调用后一个php文件,实现ajax分页,运行sn_inq即可实现效果,不过得修改数据库哦.具体代码如下:红色标注的地方要特别注意修改哦! 我的数据库名是inv,表名是sn,字段有:sn_id,sn_plant,sn_sales,sn_act,sn_type,sn_sts..... 1.sn_inq.php //getFormValu

模糊查询分页技术,做了之后,分页不能实现

问题描述 模糊查询分页技术,做了之后,分页不能实现 在页面通过from表单提交某些数据,在后台里进行模糊查询,查询出来的东西正常显示在页面上,但是,当一点击下一页的时候,向后台提交不了输入的关键词,该如何解?急求. 解决方案 分页模糊查询存储过程Access 模糊 参数 查询 分页 解决方案二: 在后台生成页脚(第一页,第二页)的时候,就把你搜索的参数带过去. 解决方案三: 怎么提交不了?你的代码咋写的 解决方案四: 代码贴出来, 解决方案五: 点击下一页的时候,从容器或者什么数据结构中取第二页

分页技术原理与实现之分页的意义及方法(一)_Mysql

什么是分页技术 分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很类似.   下页显示了两种常见的分页方式: 分页的意义 分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢?如果数据量少的话当然可以.但是对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数据一