J'ai un problème avec l'envoi de json de knockout à l'action du contrôleur mvc2. Voici ce que j'ai à mon avis:Knockout et MVC2: envoi du modèle au contrôleur
var ViewModel = {
FirstName: ko.observable("FirstName"),
LastName: ko.observable("LastName"),
Save: function() {
ko.utils.postJson(location.href, this);
}
}
ko.applyBindings(ViewModel);
J'ai une action dans le contrôleur:
public virtual ActionResult SomeAction(MyModel model) {
//do smth
return View(registrationModel);
}
public class MyModel {
public string FirstName {get;set;}
public string LastName {get;set;}
}
Le problème est que je reçois des valeurs de chaîne entre guillemets, comme « \ » FirstName \ » ", et je sais qu'il existe un moyen d'éviter cela (travailler avec JSON.stringify dans MVC3). J'ai essayé les éléments suivants:
ko.utils.postJson(location.href, JSON.stringify({model: this});
également
var json = JSON.stringify({
FirstName: this.FirstName(),
LastName: this.LastName()
});
ko.utils.postJson(location.href, JSON.stringify({model: json});
ou
ko.utils.postJson(location.href, json);
Dans toutes ces 3 options j'obtiens modèle = null, ou toutes les valeurs NULL dans le contrôleur.
Peut-être que quelqu'un l'a déjà fait?