无法重新初始化DataTable
问题描述:
我正在关注this link在jQuery数据表中实现服务器端分页。无法重新初始化DataTable
我有索引视图,它用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));
}
答
尝试增加选项: "destroy": true
。
我们可以看到这个调用“sAjaxSource”的代码:“/ MyController/MyAction”吗? – pjobs
当然,这是。 – user1765862