GriveView / Repeater / Autre : Remplissage Asynchrone avec AJAX

Signaler
Messages postés
12
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
12
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
9 février 2010
-
Salut à tous, avant tout je ne suis pas sur de poster au bon endroit donc je demande votre indulgence.

Je me présente en deux mots, je suis développeur depuis ~15 ans mais je fais du ASP.Net depuis moins de 2 ans et les web (je dois bien l'avouer) n'est de loin pas ma spécialité.

Bon, voilà le topo:

Je dois réalisé une page qui contient un GridView dont chaque ligne est le résultat d'un WebService différent.
Vu que le délais est d'~30 secondes par lignes et que j'ai au minimum 5 lignes, la page prend au minimum 2.5 minutes pour s'afficher ce qui est trop long pour l'internaute.

La solution est une mise à jours asynchrone de chaque ligne en utilisant ajax.

La ou ça se corse c'est que le résultat final doit être trié.

Si quelqu'un à une piste ou un début de solution je suis preneur :)

J'ai parcouru votre forum à la recherche d'un exemple similaire, sans rien trouver de concluant.

A bientôt
A voir également:

1 réponse

Messages postés
12
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
9 février 2010

hé hé brave moi

J'ai un début de solution mais qui pose son lot de problèmes.

J'utilise .Net Ajax Control ToolKit.

Dans le code suivant j'ai un Repeater qui a comme source de donnée un table de 5 entiers.
A pour chaque ligne j'appelle un web service qui prend un entier en paramètre et qui retourne ce dernier.
En soit c'est très basic comme exemple.

Je remplis le BehaviorID du DynamicPopulateExtender et juste après j'ai un petit script qui lance l'évenement de mise à jour avec un délais de 1 seconde pour pas que ça tourne en boucle.

Le problème qui se pose c'est que seul la première ligne est mise à jour. J'ai essayer d'avoir des nom unique pour BehaviorID et pour mon script mais sans succés... Si qqun à une idée, je prend volontier :)








<script language="javascript">
function temp() {
$find("BidOfLib").populate(<%#DataBinder.Eval(Container, "DataItem")%>);
}
setTimeout(temp, 100);
</script>