私の mvc ビューには .datatable を使用したテーブルがあります。各行には、多くの列、名前、およびチェックボックスがあります。元の名前とは別の列でテーブルを並べ替え、移動してから戻ると、キャッシュは名前の並べ替えを使用してビューモデル データをテーブルにロードしますが、キャッシュは以前にチェックした行に基づいてチェック ボックスをチェックしているようです。別の種類を使用していました。
元。
(オリジナル)
name | number |checked
A | 3 |
B | 1 | X
C | 2 |
番号順 ( .datatable)
name | number |checked
B | 1 | X
C | 2 |
A | 3 |
新しいページに移動してから戻る
スタイルが設定されていないテーブルが表示されるように、JavaScript afer .ready を待機しました
name | number |checked
A | 3 | X
B | 1 |
C | 2 |
その後、データテーブルが実行されると
name | number |checked
B | 1 |
C | 2 |
A | 3 | X
これをクロムとIEでテストしましたが、問題はクロムでのみ発生します。
<table class="table table-striped table-bordered" style="text- transform:none!important">
<thead>
<tr>
<th>Name
</th>
<th>Number
</th>
<th>Checked
</th>
</tr>
</thead>
<tbody>
@if (@Model.records.Count() > 0)
{
foreach (var item in @Model.records)
{
<tr>
<td>@item.Name</td>
<td>@item.number</td>
<td>@Html.CheckBox("chkhide", @item.IsHidden, new { @class = "hide_check", id = item.Id })</td>
</tr>
}
}
</tbody>
</table>
<script type="text/javascript">
jQuery(document).ready(function () {
$('.table').dataTable(
{
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "../../../../Content/DataTables-1.9.4/extras/TableTools/media/swf/copy_csv_xls_pdf.swf",
"aButtons": ["copy", "csv"]
},
"bPaginate": false,
"bSortCellsTop": true,
"bSortClasses": false,
"bStateSave": true
});