J'ai un appel très simple à un pageMethod. Lorsque je passe à travers mon pageMethod dans mon fichier .Cs, la valeur semble telle que prévu. Cependant, du côté du client, je reçois un résultat indéfini. Des idées? Cela devrait être horriblement simple.
Voici mon JS: ( et voici mon c #: p> activerpageMethods = "true" code> dans ma page ASPX) p>
5 Réponses :
Vérifiez la screenast suivante. Il explique comment appeler les pageMethods en utilisant jQuery: p>
Merci, cela a travaillé. J'aimerais comprendre pourquoi utiliser JQuery pour faire fonctionner un appel JSON, mais le "Microsoft Way" n'a pas fait. Merci pour votre temps!
Je vais essayer avec la bibliothèque Microsoft et vous le faire savoir. Merci!
Cela semble super, j'espère que vous avez une chance meilleure que moi! :)
Consultez la réponse ci-dessous pour appeler des pageMethods à l'aide de Microsoft Ajax Bibliothèque.
Vous devez transmettre une fonction de rappel qui serait exécutée sur le succès / l'exception. Donc, dans ce cas, ce serait quelque chose comme ça Je vérifierais la documentation de l'utilisation exacte. P> p>
Voici la réponse sur la manière d'appeler des pageMethods à l'aide de Mme Ajax. D'abord, assurez-vous d'avoir téléchargé la dernière bibliothèque Ajax à partir du site Web MS.
<asp:ScriptManager ID="sm1" runat="server" EnablePageMethods="true"> </asp:ScriptManager> <input type="button" value="Greeting" onclick="greetings()" /> <script language="javascript" type="text/javascript"> function greetings() { PageMethods.GreetingFromPage(function(response) { alert(response); }); } </script> [WebMethod] public static string GreetingFromPage() { return "greeting from page"; }
Merci, la syntaxe ici est légèrement différente de ce que j'utilisais, je vais donner un coup de feu.
Et si la fonction a des paramètres?
Try This it will work fine <script type="text/javascript"> function Generate() { var result = PageMethods.GenerateOTP(your parameter, function (response) { alert(response); }); } </script>
Je suppose que l'attribut EnablePageMethods est sur un contrôle de scriptManager dans votre page?
Non, à votre deuxième question, j'ai lu que plus tôt ... Je n'ai trouvé aucune réponse à cela ici jusqu'à présent. Merci.
Hmmm ... c'est très étrange. J'ai des méthodes de page à plusieurs reprises et n'avez pas vu ce comportement avant - j'ai mis en place une démo sur ma machine locale (VS2008 3.5 SP1) et à mes pageMethods surprises ne semblaient pas fonctionner correctement pour moi non plus. Utilisation de Firebug (ou violondler) Je peux voir un message HTTP est fabriqué mais il appelle la fonction OnFailure quand elle le fait (intéressant, sans message d'erreur). Si j'appelle le pageMethod de la console en Firebug, je vois à nouveau le poste HTTP et la réponse cette fois est l'une. Quelle version et pack de Visual Studio utilisez-vous?
Pour clarifier, lorsque le pageMethod est appelé à partir de l'intérieur de la page, le message HTTP renvoie 200 OK et la réponse est attendue, mais ce qui se passe sur la page est que la fonction d'échec est appelée et le résultat est "Echec de la méthode du serveur [xxx] ". Une rafraîchissement de la page survient alors droit après. Comme je l'ai dit, j'ai utilisé des pageMethods de nombreuses fois et je n'ai pas vu ce comportement auparavant.
Fondamentalement la même expérience que j'avais. Je cours Visual Studio 2008 SP1. La seule différence est que je gère Windows 7 Enterprise (au lieu de Vista Ultimate, comme j'étais auparavant). Faire appel à l'appel via Json travaille pour moi, alors c'est ce que je suis en train de rester pour l'instant.