2017-04-21 6 views
1

角度UIグリッドからアプリケーションの剣道UIグリッドに切り替えています。しかし、私は剣道を用いた方法にフォームデータを渡す方法を見つけ出すことはできません剣道グリッドパスフォームデータをパラメータとしてMVCの角度

generalsearchService.submitSearch($scope.form) 
    .success(function (data) { 
    $scope.gridOptions.data = (data); 
    }); 

:現在、検索条件は、[サービス(以下同様)を経由して、私のMVCコントローラのメソッドに送信された検索フォームを介して収集されますグリッド。私は次のことを試みた:

var form = $scope.form; 
$scope.mainGridOptions = { 
    dataSource: new kendo.data.DataSource({ 
     type: "aspnetmvc-ajax", 
     transport: { 
      read: "/SSQV4/SSQV5/Search/SubmitCriteria", 
      type: "POST", 
      data:{form: form} 

     }, 
     schema: { 
      data: "Data", 
      total: "Total" 
     }, 
     pageSize: 25, 
     serverPaging: true, 
     serverFiltering: true, 
     serverSorting: true 

    }), 

マイMVCコントローラメソッド(最初の行):

 public async Task<ActionResult> SubmitCriteria(ContractorSearchViewModel form) 

更新:私はリードURLを変更することによって、コントローラにパラメータを渡すことができました以下のような機能:

read: function() { 
       generalsearchService.submitSearch(form) 
        .success(function (data) { 
         return data; 
        }); 
      } 

しかし、この方法が正しく実行さにもかかわらず、グリッドはありません新しいデータでは更新されません。

ご協力いただきありがとうございます。

答えて

1

上記のサービスコールはMVCコントローラに当たっていましたが、データはグリッドに入力されていませんでした。サービスコールは少し微調整する必要がありました。ここでは、最終的に働いたものです:

dataSource: new kendo.data.DataSource({ 
      transport: { 
       read: function (e) { 
        generalsearchService.submitSearch(e.data, form) 
         .then(function success(response) { 
          e.success(response.data); 
         }); 
       } 
      }, 
      schema: { 
       data: "Data", 
       total: "Total" 
      }, 
      pageSize: 25, 
      serverPaging: true, 
      serverFiltering: true, 
      serverSorting: true 

     }), 

「e.data」は、実際のページ、のPageSize、フィルタを送信し、「フォーム」は、ストアドプロシージャのパラメータとして役立つ収集フォームデータである一方、情報をソートします。また、私のサービスを使って実際にすべての情報を送信するためにDataSourceRequestの "[DataSourceRequest]"を削除しなければなりませんでした。サービス内のhttpコールは次のようになります。

this.submitSearch = function (command, form) { 
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', {'command': command, 'form': form}); 

}

とMVCコントローラメソッドは次のようになります。

 public async Task<ActionResult> SubmitCriteria(DataSourceRequest command, ContractorSearchViewModel form) 

私は、これは他の誰かに役立ちます願っています。ハッピーコーディング!

関連する問題