无法重新初始化DataTable

时间:2015-05-09 10:17:09

标签: javascript jquery asp.net-mvc

我正在关注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));          
  } 

1 个答案:

答案 0 :(得分:0)

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