【发布时间】: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