【问题标题】:Cannot reinitialise DataTable无法重新初始化 DataTable
【发布时间】:2015-05-09 10:17:08
【问题描述】:

我正在关注this link 在 jquery 数据表中实现服务器端分页。

我有索引视图,它使用 jquery 数据表加载部分视图。此部分视图调用 asp.net-mvc 控制器并返回应注入 jquery 数据表的 json 数据。但是在我的索引视图的初始渲染中,我遇到了以下错误

DataTables warning: table id=dataTables-table - Cannot reinitialise DataTable

所以我尝试添加到初始化 jquery 数据表的部分视图中

 "bRetrieve": true,

但这没有帮助。

局部视图 jq。数据表初始化是这样的

<script type="text/javascript">
    $(document).ready(function () {
        $('#dataTables-table').dataTable({
            "bRetrieve": true,
            "bProcessing": true,
            "bServerSide": true,
            "sAjaxSource": "/MyController/MyAction",
            "sServerMethod": "POST",
            "aoColumns": [
            { "mDataProp": "String A" },
            { "mDataProp": "String B" },           
            { "mDataProp": "String C" }],
            "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                var birthday = new Date(parseInt(aData.Birthday.replace("/Date(", "").replace(")/", ""), 10));
                $('td:eq(3)', nRow).html(birthday.getMonth() + 1 + "/" + birthday.getDate() + "/" + birthday.getFullYear());
            }
        });
    });
</script>

我在这里缺少什么?

更新:

[HttpPost]
public JsonResult MyAction(JQueryDataTablesModel model)
{
    int totalRecordCount;
    int searchRecordCount;    
    var data = GetMyData(model.iDisplayStart, model.iDisplayLength, model.GetSortedColumns(),
                out totalRecordCount, out searchRecordCount, model.sSearch);

  return Json(new JQueryDataTablesResponse<MyObject>(data, totalRecordCount, searchRecordCount, model.sEcho));          
  } 

【问题讨论】:

  • 我们能看到这个调用的代码 "sAjaxSource": "/MyController/MyAction" 吗?

标签: javascript jquery asp.net-mvc


【解决方案1】:

尝试添加选项: "destroy": true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 2019-11-07
    • 2015-11-04
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多