2009-03-16 7 views
1

J'ai un appel javascript à un WebMethod C#. La même page a un autre appel et ça marche. Je débogués le code javascript, ceci est appelé:Pourquoi un appel PageMethods ne fonctionne pas?

function userUpdReq_onOk() 
{ 
... 
var clientValidationPassed =Page_ClientValidate(); 

if(clientValidationPassed) 
{ 
PageMethods.RequestUserUpdate(username, email, sex, zipCode, state, city, neighborhood, address, addressNumber, addressComplement, phone, promotionalInfo, connectionType, connectionSpeed, userUpdReq_OnComplete, userUpdReq_OnError); 
} 
... 
} 

Le débogueur passe par cette ligne, mais la méthode suivante, il entre est userUpdReq_OnError(). Pourquoi cela arrive-t-il?

+0

Avez-vous défini un point d'arrêt sur la méthode de la page? – StingyJack

Répondre

2

Quel est le message dans l'argument d'erreur passé à userUpdReq_OnError()?

La méthode OnError est appelée lorsqu'une erreur se produit dans votre méthode de page. Parfois, ce sera un problème de moulage, ou une erreur de serveur pour une autre raison. Le message d'erreur transmis à votre méthode OnError devrait être en mesure de vous guider vers la raison de l'échec.

Pour obtenir le message d'erreur, vous pouvez définir le gestionnaire d'erreur comme suit:

function userUpdReq_OnError(error){} 

Le paramètre d'erreur un message indiquant la raison de l'échec.

+0

Où puis-je voir le message? OnError n'a pas de paramètre défini pour recevoir des arguments. J'ai débogué l'appel PageMethod, et il fait beaucoup de boucles à du code pour vérifier les paramètres, je n'ai pas encore atteint la fin de ce processus. –

+0

Vous pouvez définir le gestionnaire d'erreurs comme suit: function userUpdReq_OnError (error) {} Vous devriez pouvoir récupérer le message d'erreur de cette façon. –

+0

Merci, je l'ai fait et j'ai trouvé une erreur de casting. –

0

Voici un autre problème "innocent" je pense mais il donne beaucoup de problèmes, cependant, pour une raison inconnue, dans un endroit aspx a perdu une référence à ScriptManager, donc, ce que nous devons faire pour le réparer est de supprimer ScriptManager aspx, ajoutez-le à nouveau et définissez EnablePageMethods situé dans la fenêtre des propriétés sur true.

Cordialement.

Questions connexes