J'ai un objet JSON complexe qui est envoyé à la vue sans aucun problème (comme indiqué ci-dessous) mais je n'arrive pas à trouver comment sérialiser ces données en un objet .NET lorsqu'elles sont renvoyées au contrôleur par un appel AJAX. Les détails des différentes parties sont ci-dessous.
var ObjectA = {
"Name": 1,
"Starting": new Date(1221644506800),
"Timeline": [
{
"StartTime": new Date(1221644506800),
"GoesFor": 200
}
,
{
"StartTime": new Date(1221644506800),
"GoesFor": 100
}
]
};
Je ne suis pas sûr de la façon dont cet objet peut être transmis à une méthode de contrôleur, j'ai cette méthode ci-dessous où l'objet Timelines reflète l'objet JS ci-dessus en utilisant les propriétés.
public JsonResult Save(Timelines person)
Le jQuery que j'utilise est :
var encoded = $.toJSON(SessionSchedule);
$.ajax({
url: "/Timeline/Save",
type: "POST",
dataType: 'json',
data: encoded,
contentType: "application/json; charset=utf-8",
beforeSend: function() { $("#saveStatus").html("Saving").show(); },
success: function(result) {
alert(result.Result);
$("#saveStatus").html(result.Result).show();
}
});
J'ai vu cette question qui est similaire, mais pas tout à fait la même car je n'utilise pas de formulaires pour manipuler les données. http://stackoverflow.com/questions/267707/how-to-pass-complex-type-using-json-to-asp-net-mvc-controller
J'ai également vu des références à l'utilisation d'un 'JsonFilter' pour désérialiser manuellement le JSON, mais je me demandais s'il y avait un moyen de le faire nativement à travers ASP.NET MVC ? Ou quelles sont les meilleures pratiques pour transmettre des données de cette manière ?