.NET life

HUGON Jérôme
Microsoft Certified Technology Specialist Microsoft Certified Application Developer Microsoft Certified Professional

Support des liaisons JSON

MVC 3

Catégorie MVC 3  | Date de publication : 02/04/2011

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:

MVC3 - JSON Support - 1

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:

MVC3 - JSON Support - 2

MVC3 - JSON Support - 3


Articles en relation

TechDays 2011 - Les nouveautés de ASP.NET MVC 3

MVC 3

Catégorie MVC 3  | Date de publication : 16/04/2011