我最终使用服务器端处理来处理数据加载:
<script type="text/javascript">
$(document).ready(function() {
//http://www.datatables.net
$('#userTable').dataTable({
"sPaginationType": "full_numbers",
"bJQueryUI": false,
"bAutoWidth": false,
"bLengthChange": false,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/Project/GetDataTables2",
"fnServerData": function(url, data, callback) {
$.ajax({
"url": url,
"data": data,
"success": callback,
"contentType": "application/x-www-form-urlencoded; charset=utf-8",
"dataType": "json",
"type": "POST",
"cache": false,
"error": function() {
alert("DataTables warning: JSON data from server failed to load or be parsed. " +
"This is most likely to be caused by a JSON formatting error.");
}
});
},
"aoColumns": [
{ "bSortable": true },
{ "bSortable": true }
]
});
});
</script>
由于我一次只加载 10 个左右,因此效果很好并且加载速度很快。