2017-10-10 15 views
0

Ajax.reload()を使用してコントローラに別のパラメータを渡すことが可能な場合、私はさまよっていました。 stackoverflowの上の別のトピックへdatatablesで使用されるパラメータを変更するAjax.reloadのAjax url.Action

おかげで、私は私が0以上に(変数の状態を変更するボタンをクリックの上new { cyfy = "_Switch" })".replace("_Switch",Switch)

その後、テーブルを作成するにurl.Actionへの私の変数からパラメータを渡すことができました1)、私のテーブルでAjax.reload()を呼び出します。

コントローラは、各リロードで同じパラメータ値を受信するという問題があります。

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

のDataTableの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(); 
を使用してテーブルを再ロードしています
関連する問題