title: Model binding the sort field from KendoUI Grid
body: <p>I'm using KendoUI Grid to show data. I have server paging working like a charm. The each page change in the kendo grid is a new ajax request to the server and the server returns the correct page of data. I am now trying to do server-side sorting, but I'm having trouble getting model binding to bind to the sort values.</p>
  
  <p>This is what the request from the Kendo Grid looks like:</p>
  
  <p><img src="https://i.imgur.com/ltlSB.png" alt=""></p>
  
  <p>My action method looks like this:</p>
  
  <pre><code>public JsonResult GetReports(int pageSize, int skip, List&lt;KendoSort&gt; sort)
  {
      // sort is not being populated with the right data.
  }
  </code></pre>
  
  <p>KendoSort is a custom class:</p>
  
  <pre><code>public class KendoSort
  {
      public string Field { get; set; }
      public string Dir { get; set; }
  }
  </code></pre>
  
  <p>I know I'm not doing this right. How should my action method look to correctly capture the data supplied for the sort? The screenshot shows only a single item in the sort collection, but the grid could pass more. For example, it could also have included an additional sort:</p>
  
  <pre><code>sort[1][field]: reportName
  sort[1][dir]: asc
  </code></pre>
  
  <p>Basically it would be saying "sort by id in ascending order, then by reportName in ascending order". How can I get this data into my action method without having to poke around in <code>Request</code> and manually parse the parameters?</p>