WebAPI Model Binding from JSON
asp.net-web-api, durandal, json, kendo-ui, model-binding
Solution
It looks as if it was mixing up `form-urlencoded` with `json` format - if you lookat the decoded string it is sending `models=` and then urlencoded JSON objects follow.
Problem
I am creating an application using Durandal, with WebAPI as the server. I have a KendoUI grid that displays the data from the server correctly and functions properly until the POST or PUT methods are called. Here is my GET method: and you can see that that data binds to the UI (used the data-bind extensibility in Durandal to change to kendo bindings): Then I edit the data in the Grid and it passes the changes inside the request to the server as you can see in this Fiddler result: On the server side I cannot get the data that is passed from the client to bind to anything I place as a parameter for the method on the POST or PUT. I realize this is a couple different technologies to troubleshoot (e.g. Durandal, KnockoutJs, Kendo DataBinding, and WebAPI) but I think the fundamentals are working, the data is retrieved and bound to the UI and it is posted back when changed, but the WebAPI endpoint cannot bind to the data. How can I get the passed "models" array to bind through the ModelBinding structure in WebAPI? UPDATE- Here is the helpful JSFiddle that gave me the correct Content-Type to add: http://jsfiddle.net/Xhrrj/1/ `new kendo.data.DataSource({ transport: { read: { type: "POST", url: "../cccs/service.svc/SupplierSearch", contentType: "application/json; charset=utf-8", dataType: 'json'...` this is coming from the Telerik forum here