2010-12-09 4 views
4

J'appelle PageMethod "SameMethod" de la méthode javascript "caller" pour que je puisse obtenir des valeurs de DB. Après avoir obtenu des valeurs, le contrôle se poursuit dans la méthode "onSuccess". Le problème est que j'ai besoin d'utiliser certaines valeurs de variables ("importantValeur") de la méthode javascript "caller" dans la méthode "onSuccess".Comment pouvons-nous passer plusieurs paramètres à la méthode onSuccess de PageMethod?

 
function caller(){ 
    var importantValue = 1984; 
    PageMethod.SomeMethod(param1,..., onSuccess, onFailure) 
} 

méthode onSuccess doit être quelque chose comme ceci:

 
function onSuccess(pageMethodReturnValue, importantValue){ 

} 

Est-il possible et, si elle est, comment passer plusieurs paramètres (en plus des valeurs de retour de la méthode de la page) à la méthode « onSuccess » de PageMéthode?

Merci pour l'aide

Répondre

11

passer votre importantValue comme un paramètre supplémentaire lorsque vous appelez la PageMethod. (Ce qui est généralement appelé le paramètre de contexte si vous êtes à la recherche en ligne pour plus d'informations)

function caller(){ 
    var importantValue = 1984; 
    PageMethod.SomeMethod(param1,..., onSuccess, onFailure, importantValue) 
} 

Ensuite, vous pouvez accéder à la valeur dans le rappel onSuccess comme suit:

function onSuccess(pageMethodReturnValue, context, methodName){ 
    // context == 1984 
} 

Mise à jour pour expliquer les paramètres onSuccess pour @JacksonLopes Il y a une bonne description sur le aspalliance website in an article by Suresh Kumar Goudampally

Le bit importante (modifié pour utiliser mes noms de paramètres) est la suivante:

La méthode d'appel de succès retour a trois paramètres:

  • pageMethodReturnValue - Retourne la sortie de la méthode de page.
  • contexte - Ceci est utilisé pour gérer une logique différente lorsqu'un rappel unique est utilisé pour plusieurs demandes de méthode de page. Nous pouvons également transmettre un tableau de valeurs en tant que paramètre context.
  • nomMéthode - Ce paramètre renvoie le nom de la méthode de page appelée.
+0

Merci. C'est tout :) – Janko

+0

@Janko - pas de problème –

+0

pourriez-vous s'il vous plaît être plus élaboré ??? Je veux dire, quel est le paramètre methodName dans OnSuccess ????? –

3

Vous pouvez utiliser une fonction anonyme

PageMethod.SomeMethod(param1,..., function(){onSuccess(foo, importantValue)}, onFailure) 
Questions connexes