A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 墨蹄 中级黑马   /  2014-3-31 18:29  /  1022 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 墨蹄 于 2014-4-9 12:06 编辑

当内容比较多时,怎么分页,哪种最常用,效果最好

2 个回复

倒序浏览
一般来说,几种方式,使用自己手写代码分页,使用分页组件(如AspNetPage.dll)
使用方式,贴个地址给你,http://www.cnblogs.com/binw/archive/2011/08/31/aspnetpage.html
回复 使用道具 举报
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)就可以实现超链接形式的分页链接。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马