2 votes

Mise en œuvre manuelle de l'UpdatePanel

Je lisais un article qui montre la mauvaise utilisation des UpdatePanels par CodePlex et la gentillesse de StackOverflow à ce sujet lorsque, par exemple, un utilisateur attribue une note supérieure à une réponse/question.

Je me demande si quelqu'un peut indiquer un tutoriel sur la façon de faire une telle action.

Je connais certains points :

  1. Créez un service Web qui récupère la valeur de l'action et envoie une chaîne JSON.
  2. Construire le javascript à l'intérieur <ajax:ScripManager> pour remplacer la valeur correcte de la page par la nouvelle valeur.

Mais, même dans le premier cas, j'ai des difficultés, je peux envoyer une chaîne JSON, mais elle sera toujours entourée d'informations XML !

Quelqu'un (ou peut-être Jeff) peut-il indiquer un bon "comment faire" depuis le début ? Merci.

3voto

Marc Gravell Points 482669

Eh bien, je doute StackOverflow utilise UpdatePanel - il est plus probable qu'il utilise jQuery / charge pour simplement mettre à jour un div, en utilisant ASP.NET MVC comme source (plutôt que ASP.NET vanille, qui a un cycle de page plus complexe).

Avec cette approche, c'est trivial... l'onglet des exemples jQuery dit largement tout.

En ce qui concerne le retour du Json, il s'agit simplement de return Json(obj); à partir du contrôleur dans ASP.NET MVC - mais personnellement, je renverrais le html (plus simple).

2voto

Aaron Powell Points 15598

Avant d'écarter l'UpdatePanel, je vous suggère de lire ce billet que j'ai rédigé http://www.aaron-powell.com/blog/august-2008/optimising-updatepanels.aspx . Il examine la manière d'optimiser les UpdatePanels, ce qui peut conduire à une augmentation des performances si cela est bien fait.

J'ai aussi fait un post - http://www.aaron-powell.com/blog/august-2008/paging-data-client-side.aspx qui traite de la création de modèles côté client avec jQuery et MS AJAX. J'explique comment lire un service web avec JavaScript et si vous téléchargez l'exemple, vous verrez comment envoyer des données côté client à un service web.

Mais cette vidéo diffusée sur le site Web d'ASP.NET peut également vous être utile. http://www.asp.net/learn/ajax-videos/video-82.aspx . C'est sur la façon d'étendre les services web pour script capacités de service.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X