如何实现数据分批加载

luomaxiaoyao 2012-06-18 08:51:09
我想实现数据分批加载,一次加载10 条,通过滚动条往下拉到最后,再加载10条,一直这样下去,之前加载的数据保持不变,就是追加到后面,请问这样怎么实现呢?
求代码,例子
...全文
675 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
djdy_fei 2013-01-14
  • 打赏
  • 举报
回复
引用 11 楼 luomaxiaoyao 的回复:
但是显示第二页的时候,第一页的数据要保留在页面上,怎么保留呢?
ajax加载数据页面不会刷新、不刷新之前的数据就不会消失、不存在什么覆盖、
古龙老子 2012-07-27
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_9fb00b0b01013agu.html
这个就是你的救世主
truecoffeefox 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

但是显示第二页的时候,第一页的数据要保留在页面上,怎么保留呢?
[/Quote]
异步加载,读出数据后组织好显示,然后jquery有个insertafter方法,把第二页数据显示在第一页下就行了,不涉及刷新页面,第一页数据何来消失
hhucxyb 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

问题就在于,怎么保存这些数据了,用viewstate ? 还是用什么保存呢?
[/Quote]保存什么数据?主要显示的数据,是数据库中的。加载了N次,还有首次加载的时间,放在页面的隐藏控件中就行了。Ajax刷新不用覆盖这块内容
Chyan 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

问题就在于,怎么保存这些数据了,用viewstate ? 还是用什么保存呢?
[/Quote]
可以用ajax。
比如ajax后台请求一个方法,然后在后台从数据库中取出需要的数据,并拼接成json格式的字符串返回到前台。
然后前台将接到的字符串序列化成json对象。然后循环遍历拼接html。
再把拼接好的html追加到现有数据的后面。整个过程页面是不刷新的。
luomaxiaoyao 2012-06-18
  • 打赏
  • 举报
回复
问题就在于,怎么保存这些数据了,用viewstate ? 还是用什么保存呢?
hhucxyb 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

数据改怎么查呢?
比如:第一次 加载10条,当滚动条 移到最后触发事件,再查10条,页面上就应该有 20条,怎么样使数据不重复呢?
求解答
[/Quote]Ajax+分页原理,每次加载只加载10条数据,每次加载后,记录当前加载了N次,然后再次加载的时候,就加载N+1页的数据。页面原来的数据保持住,不要覆盖了。
另外如果表中数据在这个过程中可能会增加的话,还需要暂时过滤(用第一次加载的那个时间点做过滤吧)。
就和微博类似。重新刷新的话就显示出最新的数据。
luomaxiaoyao 2012-06-18
  • 打赏
  • 举报
回复
数据改怎么查呢?
比如:第一次 加载10条,当滚动条 移到最后触发事件,再查10条,页面上就应该有 20条,怎么样使数据不重复呢?
求解答
webdiyer 2012-06-18
  • 打赏
  • 举报
回复
没有做过,但原理并不复杂:javascript判断内容页面在浏览器窗口中的位置,如果已显示出最后一条数据,则用ajax加载之后的数据并显示,依次类推
licai1210 2012-06-18
  • 打赏
  • 举报
回复
拖动滚动条应该是有个事件的,在拖动的时候用AJAX去后台获取数据,然后追加到页面后面,同时保存拖动位置
luomaxiaoyao 2012-06-18
  • 打赏
  • 举报
回复
有人做过吗?
hhucxyb 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

但是显示第二页的时候,第一页的数据要保留在页面上,怎么保留呢?
[/Quote]
向所有段落中追加一些HTML标记。

HTML 代码:
<p>I would like to say: </p>
jQuery 代码:
$("p").append("<b>Hello</b>");
结果:
[ <p>I would like to say: <b>Hello</b></p> ]
啊兵 2012-06-18
  • 打赏
  • 举报
回复
ajax


后台读取数据。

用javascript显示在页面上。{向table添加元素}


很简单
luomaxiaoyao 2012-06-18
  • 打赏
  • 举报
回复
但是显示第二页的时候,第一页的数据要保留在页面上,怎么保留呢?
truecoffeefox 2012-06-18
  • 打赏
  • 举报
回复
就是个数据分页显示转换下显示方法,何必又得村viewstate又得存加载时间的

第一次加载第一页10条,这个页大小也已保存在配置里也可以通过参数给出
滚动条最好就是用css模拟,根据拖动事件触发异步读取第二页,追加显示。
要做的只不过把当前页码放在一个隐藏域里就可以了
luomaxiaoyao 2012-06-18
  • 打赏
  • 举报
回复
是这样的么?
$(function () {
$.ajax({
type: "Get",
url: "webashx/webcasetj.ashx",
success: function (msg) {
$("#wzjstj").after(msg);
}
});
});

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧