在ASP.NET MVC ef框架中,利用Layui流加载。刚开始出现8条数据。
JS代码:
layui.use('flow', function(){
var $ = layui.jquery;
var flow = layui.flow;
flow.load({
elem: '#demo' //指定列表容器
,done: function(page, next){ //到达临界点(默认滚动触发),触发下一页
var lis = [];
$.getJSON('/api/list?page='+page, function(res){
layui.each(res, function(index, item){
lis.push('<li>'+ item.title +'</li>');
});
//执行下一页渲染,如果不存在数据,则告诉flow已经没有更多
next(lis.join(''), res.length === 0);
});
}
});
});
后台代码:
int pageSize = 8;
int pageNumber = (page ?? 1);
int totalCount = 0;
totalCount = Srv.Count(a => a.UserID== 1);
var list = Srv.FindPageList(pageNumber, pageSize, out totalCount,a => a.UserID== 1, false, a => a.SumbitTime).ToList();
var data=list.Select(p =>new{Title=p.Title,SubmitTime=p.SumbitTime.ToString("yyyy-MM-dd") });
return Json(data, JsonRequestBehavior.AllowGet);
这样写的话,本来是有18条数据的,结果只显示16条数据后,就说没有更多了。这个该怎么做呀?
next(lis.join(''), res.length === 0);该句子后面的参数应该根据实际页面进行判断,为true时,会继续加载
如:next(lis.join(''), page<totalPage);//totalPage为总页数