従業員のリストを表示するデータテーブルがあります。従業員数が 0 ~ 2000 の範囲の場合は問題なく動作しますが、その後、そのページをロードするときに深刻な遅延が発生します。ページの読み込み時に大量のデータが読み込まれるため、これは驚くべきことではありません。私はどこを見ても、サーバー側の処理を行う方法を示す良い例を見つけることができませんでした. git ハブで見つけたプロジェクトは、私のコンピューターでは実際には機能していません (多くの「欠落参照」エラーが発生しました)。これは私が今取り組んでいるコードです
employees.cshtml
@model EmployeeList
@{
Layout = null;
ViewBag.Title = "employees";
}
<html>
<head>
<head/>
<body>
<table id="employees_gridView">
<thead>
<tr>
<th
Name
</th>
<th>
Username
</th>
<th>
Job Category
</th>
<th>
Hire Date
</th>
</tr>
</thead>
<tbody>
@if (Model.RowList != null)
{
foreach (var item in Model.RowList)
{
<tr>
<td >
@Html.DisplayFor(i => item.DisplayName)
</td>
<td >
@Html.DisplayFor(i => item.UserName)
</td>
<td>
@Html.DisplayFor(i => item.JobCategoryName)
</td>
<td>
@Html.DisplayFor(i => item.hireDate)
</td>
</tr>
}
}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
</div>
データテーブルjqueryは次のようになります
$(document).ready(function(){
$('#employees_gridView').dataTable({
"bDestroy":true,
"bSortClasses": false,
"bDeferRender": true,
// here is the default setting for number of results to show on a page
"iDisplayLength": 10,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aaSorting" :[],
// here are the column specific settings
"aoColumns": [
{"aTargets": [ 0,1 ]},
null,
{"sClass": "DataTableCenterColumn"},
{"sType":"date", "sClass": "DataTableCenterColumn"
}]
});
});
そして、これはページ読み込みリクエストを処理するコントローラーメソッドです
public ActionResult Index()
{
EmployeeList employeeList = getEmployeeList();
return View("Index", employeeList );
}
このクライアント側のデータテーブルをサーバー側の処理データテーブルに変更する方法を教えてください。