【发布时间】:2019-02-21 13:08:24
【问题描述】:
我将数据表与 MVC 一起使用。
我想要实现的是每隔 5 秒更新 DataTable 中的数据,而不刷新整个页面,但我在其背后的逻辑上遇到了问题。
目前,我可以使用我的模型或使用以 JSON 格式返回的数据来填充 DataTable。但我似乎对两者都有问题。
模型方法
JQuery 调用一个控制器,该控制器返回一个包含已填充的整个表的局部视图。这很有效,而且非常简单。
但是似乎没有必要在每次调用时都返回 HTML,因为表格是从局部视图中提取的,并且每次页码和其他设置都会丢失。
JSON 方法
JQuery 调用一个控制器,它以 JSON 格式返回我们需要的数据,这允许更新页面的相关部分。
但是,我看不到设置数据后更新数据的方法,除了使用 AJAX 调用中内置的 DataTables,这似乎不允许轮询。
任何关于这些方法是好还是坏的想法都会有所帮助。
谢谢,
【问题讨论】:
-
一般来说,AJAX JSON 服务似乎是可行的方法。一遍又一遍地传输比需要更多的数据,或者在一组新的标记上一遍又一遍地重新初始化整个 DataTables 插件是没有意义的。您在执行此操作时遇到了什么实际问题?您只是在问如何更新 DataTables 中的数据吗?他们有大量文档,包括删除记录和添加记录等内容。
-
为了澄清,数据表只是反映一个数据库。正如你所说,我只是想让数据表反映数据库的更新。我确实查看了文档,但似乎没有关于轮询更新计时器的部分。
-
我怀疑会有任何内置的投票功能。但是您可以拥有自己的
setInterval()实例,它轮询新数据并更新客户端表。每次执行时,只需从 DataTables 实例中删除并重新添加行。 datatables.net/reference/api/clear()datatables.net/reference/api/rows.add()
标签: c# jquery model-view-controller datatables partial-views