Async postback & UpdatePanel

Signaler
Messages postés
2
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
16 juin 2008
-
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014
-
Je suis a la recherche d"une astuce pour synchroniser un morceau de code en javascript.








Pour résumer, j


'utilise un control customvalidator dans un updatepanel, je lui renseigne la propriete clientValidationFunction avec le nom de ma fonction javascript pour l'instant ça va :)





Ma fonction javascript doit controler la véracite d'une information saisie (exemple : la référence d'un produit chimique)

Pour cela je consomme un service web ...






 



C'est à partir de ce moment que mes petits soucis arrivent : comment faire pour que ma requete http (appel de mon service web) devienne "synchrone" ?





Car avant de sortie de ma fonction javascript, je dois renseigner la propriete IsValid de Args à vrai ou à faux.


(Args est un des deux parametres de la fonction javascript utilisé par le customvalidator)








Pour cela je dois attendre la réponse du service web.







 




J'ai essayé les boucles et fonction Sleep ... 

mais sans résultat interessant :(





J'ai bien peur que la seule solution est de mettre EnableClientScript à faux et faire le controle des infos saisies seulement coté serveur, c'est comme meme plus sympa d'avertir l'utilisateur d'eventuelles erreurs au moment de la saisie.








Si besoin, je peux fournir du code (javascript)

1 réponse

Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014

Bonjour

A mon avis tu peux tout simplement Passer par l'évenement différé TextChanged du TextBox en activant l'AutoPostBack de celui-ci pour que cet évenement devient immediat, car ce que tu veux faire en quelque sorte c'est exactement ça surtout tu utilise ajax, ton script ClientSide si tu le rend synchrone il aura exactement le comportement d'un script ServerSide car lui aussi il va obliger l'utilisateur à attendre avant de saisir un autre champ et si tu utilise ajax avec la solution que je t'ai proposé il y'aura pas une différence sauf que tu contrôle ça coté serveur.   

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)