服务器端数据表分页无法正常工作

Posted

技术标签:

【中文标题】服务器端数据表分页无法正常工作【英文标题】:Server-side Datatables pagination not working properly 【发布时间】:2019-11-24 07:24:30 【问题描述】:

我在 Datatables 服务器端处理中遇到了我的代码问题。问题在于分页。我的数据给了我 3 页,但只有第一次点击分页的数字才有效(不管我点击了什么数字)。在此之后,任何数字的任何单击都只会使表格内容闪烁。表中没有任何变化。

任何人都可以帮助我提出一些建议该怎么做? 谢谢!

编辑:

刚刚修好了。请检查答案。

我的代码:

$('#table').DataTable( 长度变化:假, pagingType: '数字', 页面长度:20, 摧毁:真的, 搜索:假, 信息:假的, 处理:假, 分页:真, 语言: 网址:varEndPoint + 'libs/plugins/dataTables/localization/' + userLang + '.js' , 自动宽度:假, 滚动折叠:真, scrollY: '400px', 服务器端:是的, 阿贾克斯: url: '控制器/路径', 类型:'POST', 数据类型:'json', 数据:“实体”:“所有者”,“过滤器”:“所有者”, beforeSend: function () $('body').prepend('Loading...'); , 完成:函数() $('.loader').remove(); , 列: [ 数据:'名称', 数据:'文档', 数据:'帐户' ], 列定义:[ 目标:'_all',可订购:假 ] );

【问题讨论】:

你能显示你从服务器获得的数据表的 JSON 响应吗?另外,我认为您的服务器端代码在分页时发送相同的数据,这就是为什么它只是更新而不是更改。 你能分享你的控制器/路径代码(带有分页逻辑的方法)吗? 我刚刚解决了。用决议编辑了我的问题。谢谢。 @Saulo Teodoz,考虑为您自己的问题添加答案。这是更好的方法,可以帮助其他人轻松找到答案。 @Gyrocode.com 抱歉,我是新手。我会做的,谢谢! 【参考方案1】:

这里是修复:

我的“绘制”属性是:

int draw = Request.Form["draw"].FirstOrDefault();

刚刚用解析这样的int修复了:

int draw = int.Parse(Request.Form["draw"]);

希望它能帮助遇到同样问题的人。

【讨论】:

以上是关于服务器端数据表分页无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

数据表分页和服务器端处理

禁用初始自动 ajax 调用 - DataTable 服务器端分页

剑道网格服务器端过滤和不工作

为啥服务器端数据表在一页中显示所有记录而搜索不起作用?

为啥服务器端分页不适用于我的 jquery 数据表?

具有服务器端分页/排序的 DevExtreme 数据网格不适用于过滤