0

私の 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
      });
4

1 に答える 1