title: How to send multiple parameters from kendo data source read operation to WebApi controller
body: <p>I have the following scenario: I have a kendo.dataSource which is populated via read request to a WebApi Controller. In addition to the read, I am sending a couple of parameters, which then I use in my controller to do some server logic. I was able to send as many simple parameters as I want via the parameterMap property of the transport function. Till now it was a simple get request. However now I need to send additional json object to the controller as a parameter. I read that I have to transform the Get request to Post and put the Json onto the body of the request but I don't know how to do it.</p>
  
  <p>The code that I have so far: </p>
  
  <pre><code>var gridDataSource = new kendo.data.DataSource({
          type: 'odata-v4',
          transport: {
              read: {
                  url: wave.alarmsAndEvents.api('api/alarmsAndEventsSearch/post'),
                  type: "POST",
                  data: {
                      SearchModel: JSON.stringify(vm.searchModel)
                  },
                  contentType: 'application/json; charset=utf-8',
  
              },
  
              parameterMap: function (data, operation) {
                  if (operation === "read") {
                      data.startDate = kendo.toString(vm.selectedTimeInterval.start, "G");
                      data.endDate = kendo.toString(vm.selectedTimeInterval.end, "G");
                      data.alarmsToDisplay = vm.maxRecords;
                  }
                  return kendo.stringify(data);
              }
          },
          pageSize: vm.maxRecords,
          error: function (e) {
              alert(e.xhr.responseText);
          }
      });
  </code></pre>
  
  <p>The <code>SearchModel</code> is the thing that I want to send as <code>JSon</code>. The rest are simple <code>DateTime</code> and <code>int</code> parameters.</p>
  
  <p>My controller: </p>
  
  <pre><code>[HttpPost]
      public IQueryable&lt;AlarmsSearchViewModel&gt; Post(DateTime startDate, DateTime endDate, int alarmsToDisplay, [FromBody]JToken jsonbody)
      {
          ....
          return something;
      }
  </code></pre>
  
  <p>I end up with <code>Not Found 404</code>, but I am pretty sure that I have messed up the parameters. And from the Network window I can see that the json object is not sent at all. Any help will be much appreciated!</p>