Méthode de page ASP.NET appelant jQuery-AJAX. Comment retourner de la valeur à jQuery?

Si j’utilise jQuery AJAX pour appeler une méthode de page ASP.NET spécifique, comment cette méthode renvoie-t-elle une valeur à la méthode AJAX qui l’a appelée?

Mettre à jour

Ma situation est que j’ai une application Web existante avec de nombreuses méthodes existantes. J’aimerais pouvoir utiliser jQuery pour exécuter certaines de ces méthodes, puis mettre à jour l’interface utilisateur avec les résultats. Mon mandat est de restr à l’écart d’ASP.NET AJAX et de restr avec jQuery. La direction s’inquiète de la poursuite du développement et de la prise en charge d’ASP.NET AJAX de Microsoft. Je suis d’accord avec eux.

Vous pouvez utiliser JQuery avec les méthodes de page de cette façon: http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

Le rappel de réussite contient un paramètre avec les données renvoyées.

HTH.

Il y a deux manières de dépouiller ce chat (que je connais bien).

  1. La “manière .Net” qui implique une méthode Web et un gestionnaire de script (voir ici: http://geekswithblogs.net/frankw/archive/2008/03/13/asp.net-ajax-callbacks-to-web-methods -in-aspx-pages.aspx ).

  2. Le “Old Skool Way” qui consiste simplement à écrire une réponse en déterminant ce qui a été appelé. En règle générale, vous utiliseriez un framework tel que MVC. Vous pouvez accéder à http://www.MyWebsite.com/Object/Method/Id à Object.Method (id).

Vous pouvez le faire sans un framework tel que MVC mais cela rend les choses un peu plus difficiles et, si vous suivez cette voie, vous devriez vraiment utiliser un gestionnaire ASP.Net plutôt qu’une page réelle (puisque vous n’avez pas besoin de la surcharge Aspx). . Ceci est un fichier Ashx.

Avec ASP.NET pur (on ne parle pas de WCF ici), j’utiliserais un fichier de gestionnaire (ASHX) et utiliserais JSON comme format d’échange. Je ne vais pas entrer dans les détails de JSON ( ici, c’est un bon début), mais l’idée est un gestionnaire léger sur le serveur qui génère du texte JSON et le renvoie au client, qui peut ensuite utiliser la structure facilement en javascript.

Ceci est évidemment un exemple simplifié, mais l’essentiel est que le JSON peut être piloté par les données du serveur et facilement consommé par le javascript du client.

serveur:

<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/json"; context.Response.WriteFile("~/myData.json"); } public bool IsReusable { get { return false; } } } 

client:

 myData = (function () { var json = null; $.ajax({ 'async': false, 'global': false, 'url': "handler.ashx", 'dataType': "json", 'success': function (data) { // this code is called when the // data is returned from the server json = data; } }); return json; } )(); alert(myData.MyArray[0].MyProperty);