/ / MVC3 RC2 JSON Post Binding ne fonctionne pas correctement - asp.net-mvc, json, model-binding

MVC3 RC2 JSON Post Binding ne fonctionne pas correctement - asp.net-mvc, json, model-binding

"J'ai vu d'autres articles sur ce sujet et j'ai joué avec des variations, mais je ne parviens toujours pas à faire fonctionner correctement la liaison de modèle JSON.

J'ai les éléments suivants dans ma méthode global.asax.cs Application_Start:

ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());

Les données postérieures ressemblent à ceci:

{"UserName":"Mike","Password":"password","Persist":true}

Mon PoCo:

public class UserLoginViewModel {
public string UserName { get; set; }
public string Password { get; set; }
public bool Persist { get; set; }
}

La méthode du contrôleur se déclenche correctement mais possède l'objet UserLoginViewModel par défaut avec UserName = null, Password = null et Persist = false; la signature ressemble à ceci:

[HttpPost]
public ActionResult Logon(UserLoginViewModel model) {
if (ModelState.IsValid) {
...

Réponses:

14 pour la réponse № 1

Le problème est du côté client! Je n'ai pas défini l'ensemble contentType.

$.ajax({
url: location.href,
type: "POST",
data: ko.toJSON(this),
datatype: "json",
**contentType: "application/json charset=utf-8",**
success: function (data) { alert("success"); },
error: function (data) { alert("error"); }
});