2017-10-10 39 views
0

如果在數據表中使用Ajax.reload()可能將不同的參數傳遞給控制器​​,更改數據表中使用的參數ajax url.Action關於Ajax.reload

由於計算器上的另一個話題,我能夠在參數來傳遞從我的變量中url.Action上創建表new { cyfy = "_Switch" })".replace("_Switch",Switch)

然後在點擊鏈接我改變變量的狀態(0或1)並在我的表上調用Ajax.reload()。

問題是控制器在每次重新加載時都會收到相同的參數值。看來,這部分不與重載運行:

"ajax": { 
      "url": "@Url.Action("GetProjects", "mytool",new { cyfy = "_Switch" })".replace("_Switch",Switch), 
      "type": "get", 
      "datatype": "json" 
     }, 

我是遊蕩,如果有一種方法,在數據表ajax.realod不同的參數值傳遞?

下面的代碼的更大的一部分:

     $("#toggle").change(function() { 


        if ($('#toggle').is(':checked') == true) { 

         Switch = 1 
        } 
        else { 
         Switch = 0 
        } 
///////////////// 

      var oTable = $('#myDatatable').DataTable({ 
          "bPaginate": false, 
           dom: 'Bifrtp', 
          "ajax": { 
           "url": "@Url.Action("GetProjects", "mytool",new { cyfy = "_Switch" })".replace("_Switch",Switch), 
           "type": "get", 
           "datatype": "json" 
    }, 

回答

0

解決。 問題在於Ajax將時間戳添加到重新加載的請求上。

解決此問題我在創建表格時添加了cache : true,選項。

,然後我重裝使用ajax.url

var testURL = CreateUrl("mytool/GetProjects?cyfy=") + Switch; 
$('#myDatatable').DataTable().ajax.url(testURL).load();