黑马程序员技术交流社区

标题: 网页分页的方法 [打印本页]

作者: 墨蹄    时间: 2014-3-31 18:29
标题: 网页分页的方法
本帖最后由 墨蹄 于 2014-4-9 12:06 编辑

当内容比较多时,怎么分页,哪种最常用,效果最好
作者: cmcm2014    时间: 2014-3-31 18:38
一般来说,几种方式,使用自己手写代码分页,使用分页组件(如AspNetPage.dll)
使用方式,贴个地址给你,http://www.cnblogs.com/binw/archive/2011/08/31/aspnetpage.html
作者: 许庭洲    时间: 2014-4-1 06:50
1. ListView搭配DataPager控件实现分页。有两种使用方式,一种是将DataPager声明到ListView中;一种是 DataPager,ListView没有嵌套关系,然后将DataPager的PagedControlID设定为要分页的ListView。
2.ListView默认的分页是先从数据源取得所有数据,然后再截取当前页面的部分,在数据量非常大的情况下效率非常的低,因此默认分页基本不能用。因该是只从数据取得要显示的数据;
3.在强类型DataSet中增加取得所有数据条数的方法QueryCount,增加取得指定行数范围数据的方法GetPagedData: select * from
4.(SELECT......,Row_Number() over(order by ...) rownum FROM T_Links) t where t.rownum>@startRowIndex and t.rownum<=@startRowIndex+@maximumRows
5.由于数据集编辑器不支持Row_Number(), 所以创建完成后需要手动在GetPagedData属性的Parameters中增加两个参数:startRowIndex,maximumRows(参数名必须是这两个,这是由ObjectDataSource的 StartRowIndexParameterName,MaximumRowsParamterNmae确定的,一般不需要改。),都是Int32类型。
6.ObjectDataSource中EnablePaging属性设置为true,SelectCountMethod设置为 QueryCount,SelectMethod设置为GetPagedData。
7.如果出错的话看看是不是没有放置内置的DataPager或者外置的DataPager的PagerControlID没有指向ListView。
8.先按照正常的流程配置ObjectDataSource,让LIstView自动生成Template,再修改ObjectDataSource的 EnablePaging="True",SelectCountMethod设置为取得行数的方法。
9.DataPager默认是用PostBack机制,显示不到地址中,不利于网友间共享,只要指定QueryStringFiekd属性(比如 pagenum)就可以实现超链接形式的分页链接。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2