Le support des liaisons JSON dans MVC 3 permet d'envoyer des données JSON encodés aux actions et le modèle sera automatiquement lié aux paramètres. Cela autorise la connection entre les données clients et serveur en envoyant et recevant celles ci au format JSON.
Considérons la vue suivante qui affiche un fomulaire de création basé sur le modèle TestModel comportant deux propriétés: Title et Description:

J'ai modifié le lien Create qui n'est désormais plus un champ de type Submit mais qui est devenu un lien:
<a id="Save" href="#">Create</a>
L'évènement Click de ce lien est lié à la fonction suivante qui encapsule les données du formulaire puis les envoie encodées en JSON à l'action de notre choix:
<script type="text/javascript">
$('#Save').click(function () {
var test = {
Title: $('#Title').val(),
Description: $('#Description').val()
};
$.ajax({
url: '/Test/SupportJSON',
type: "POST",
data: JSON.stringify(track),
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function () { $('#Result').html('OK'); },
error: function () { $('#Result').html('ERROR'); }
});
return false;
});
</script>
Du coté serveur, l'action cible de la requête ne présente rien de spécifique:
[HttpPost]
public ActionResult SupportJSON(TestModel model)
{
return View();
}
Cette action accepte un modèle de type TestModel comme unique paramètre. Sans en écrire plus coté serveur, MVC 3 va pouvoir faire le lien entre les données reçues JSON encodées et le paramètre typé de l'action cible:

