Sto creando un'applicazione utilizzando Durandal, con WebAPI come server. Ho una griglia KendoUI che visualizza correttamente i dati dal server e funziona correttamente finché non vengono chiamati i metodi POST o PUT. Ecco il mio metodo GET: Modello WebAPI Legatura da JSON
e si può vedere che i dati si lega all'interfaccia utente (utilizzato la data-bind extensibility in Durandal cambiare al kendo attacchi):
Poi ho modificare i dati nella griglia e passa i cambiamenti all'interno della richiesta al server, come si può vedere in questo risultato Fiddler:
Sul lato server non riesco a ottenere i dati che viene passato dal client di legarsi a qualsiasi cosa ho posto come parametro per il metodo sul POST o PUT.
Mi rendo conto che questo è un paio di diverse tecnologie per risolvere i problemi (ad esempio Durandal, KnockoutJs, Kendo DataBinding, e WebAPI), ma penso che i fondamentali stanno lavorando, i dati vengono recuperati e legato all'interfaccia utente ed è inviato indietro quando viene modificato, ma l'endpoint WebAPI non può collegarsi ai dati.
Come è possibile ottenere l'array "modelli" passato per eseguire il binding tramite la struttura ModelBinding in WebAPI?
Update-Ecco il JSFiddle utile che mi ha dato la corretta Content-Type per aggiungere: 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'...
questo viene da forum Telerik here
In base alla richiesta del violinista di esempio, si stanno rinviando i dati ma non nel formato corretto in modo che Web.API non possa consumarli. Quindi il problema riguarda il modo in cui serializzi i dati. Quindi, per favore pubblica il codice del tuo metodo di salvataggio delle modifiche o dove crei la richiesta 'put'. – nemesv
Sembra che stia mescolando form-urlencoded con il formato json - sta inviando 'models =' e quindi seguono gli oggetti JSON urlencoded. –
@nemesv, sto usando le funzioni javascript di KendoUI, ecco uno snippet che ritengo possa essere utile: parameterMap: function (options, operation) { if (operation! == "read" && options.models) { return { modelli: kendo.stringify (options.models)}; }} - link http://docs.kendoui.com/getting-started/web/grid/editing - anche la lettura di questo, potrebbe essere un modo per cambiare il modello di JSON, ma non è sicuro - http: // docs .kendoui.com/getting-started/quadro/origine dati/panoramica –