我有一个无限滚动的网页。我正在用随机记录喂这个卷轴(我正在使用order by newid()
它)。当滚动到达末尾时,有一个 ajax 调用会在页面上附加新的随机数据。显然,我用这种方法得到了重复的记录。这是我的问题:有没有办法避免重复记录?我应该将已经加载到页面的记录存储在某处并将它们从选择中排除吗?或者我应该选择带有随机记录的巨大记录集,将其保存在内存中,然后用这个记录集的块提供页面?随机无限滚动的正确方法是什么?提前致谢!
编辑
要求的代码:
数据提供者:
res = data.OrderBy(l => Guid.NewGuid()).Take(numberOfRecords);
客户:
$.get("/Start/Index/", function (data) {
if (data != '') {
isLoading = false;
$("#tiles").append(data);});
服务器:
model.PageData = _dataProvider.GetOnePage(recordsPerPage);
return PartialView("_MyView", model.PageData);