2013-08-01 46 views
0

我的mvc視圖有一個使用.datatable的表。每行都有很多列,名稱...和一個複選框。如果我通過除原始名稱之外的另一列對錶進行排序,然後離開然後向後按,則緩存會使用名稱排序將視圖模型數據加載到表中,但緩存似乎是基於先前檢查的行檢查複選框那是使用不同的排序。緩存填充jQuery數據表中的錯誤複選框MVC

ex。

(原件)

name | number |checked 
A | 3 | 
B | 1 | X 
C | 2 | 

訂單數字(.datatable)

name | number |checked 
B | 1 | X 
C | 2 | 
A | 3 | 

去一個新的頁面,然後回來

我把等待JavaScript的AFER。就緒如此我可以看到無風格的表

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 
     }); 
+0

需要一些代碼或js小提琴,否則我只是在微風中拍打至於爲什麼 –

回答

0

通過強制服務器端刷新模型數據解決了這個問題。 IT看起來只是一個數據表與鉻緩存系統接口的bug。