2010-12-11 23 views
2

Depuis quelque temps, je cherche une stratégie globale de données/balisage à installer dans ASP.NET MVC, et je suis actuellement en train de regarder jQuery Templates. Les modèles jQuery me semblent être un nouveau système de liaison, similaire au moteur de vues MVC ou à ses diverses variantes, sauf qu'il fait la liaison de données dans le navigateur au lieu du serveur Web. Ai-je essentiellement raison dans cette évaluation? Quand utiliseriez-vous des modèles jQuery au lieu d'un modèle de vue ASP.NET MVC?Quels sont les cas d'utilisation des modèles jQuery dans ASP.NET MVC?

Est-ce pour éviter plusieurs post-backs au serveur pendant que l'utilisateur édite des données, et si oui, cela ne revient-il pas à pousser l'équivalent fonctionnel d'un jeu de données ADO.NET de style ancien (sous forme JSON) vers le navigateur, puis en le publiant sur le serveur Web lorsque l'utilisateur a fini de le modifier?

Quels seraient les cas d'utilisation de ce genre de choses? Un formulaire de facture, peut-être? Dans quelles conditions est-il préférable que la liaison de données ait lieu dans le navigateur plutôt que sur le serveur Web?

Répondre

2

Je ne peux pas parler aux modèles ASP.NET MVC mais en général les modèles jQuery (et tous les modèles javascript) servent à appliquer des vues aux données récupérées via AJAX. Votre système de gabarit typique aidera à rendre la page, mais après que la page soit rendue et que vous fassiez une requête AJAX pour publier un nouveau commentaire, et que vous vouliez ajouter le commentaire dans la page sans le charger à nouveau, que feriez-vous? Souhaitez-vous juste retourner le bloc HTML entier? C'est possible mais cela gonfle la bande passante des requêtes quand vous pouvez simplement renvoyer un objet JSON à la place - ce qui vous permet d'utiliser la même requête sur plusieurs plateformes et pas seulement de la coller sur une page Web. Avec les templates Javascript (même quelque chose comme Moustache js) vous pouvez appliquer un template à un dataset (réponse JSON) directement en javascript pour charger vos templates avec le chargement de la page et les utiliser quand des états changent ou de nouveaux objets sont introduits. À la fin de la journée, c'est à vous de décider ce que vous voulez faire. Si vous utilisez un ensemble commun de services, vous devrez probablement appliquer des modèles en Javascript afin que vos demandes de données n'aient pas à retourner le code HTML elles-mêmes. Mais il est certainement possible de le faire si vous travaillez uniquement avec un site Web normal et non basé sur un service. Gardez à l'esprit, cependant, que si vous passez à une architecture basée sur le service, tous vos appels devront être réécrits pour éviter de renvoyer le HTML, alors cela vaut la peine d'être pris en compte maintenant.