none
ASP.Net, Ajax Control Toolkit et Post Back

    Question

  • Bonjour,

    J'utilise actuellement le contrôle SlideShowExtender pour afficher des images comme dans un diaporama.

    Seulement lorsque j'appuie sur un bouton qui nécessite un aller retour vers le serveur (postback), le contrôle slideshow s'actualise et affiche la première image de son tableau de slides[] au lieu de rester sur l'image qui était actuellement affichée !

    Comme faire pour palier à ce problème ?

    Je n'ai pas trouver de moyen dans les propriété pour qu'il se souvienne de la dernière image affiché ou comment empêcher l'actualisation des slides ! Je n'ai pas trouvé non plus d’évènement en javascript me permettant de dire qu'a la fin du chargement des slides par la webmethod changé l'image actuellement affichée !

    Je ne sais vraiment plus par où prendre le problème, si vous avez des idées.... n'hésitez pas ;)

    Merci d'avance

     

    mercredi 21 novembre 2012 08:27

Réponses

  • Bonjour,

    d'un point de vue fonctionnel, je ne comprend pas pourquoi tu as nécessité de faire un postback (avec refresh total de la page), si c'est pour revenir sur la même page, avec ton slideshow au même endroit. Là comme ça, je dirais qu'il te faudrait un updatepanel quelque part : si tu n'as pas de rafraichissement de page, tu n'as pas de problème ;-).

    Sur différents forum, j'ai trouvé ça pour affecter la prochaine image :

    function changeImage(imageIndex){
      slider1 = $find("behaviorID");
      slider1._currentIndex = imageIndex;
      slider1.setCurrentImage();
    }

    et pour tracer le changement d'image à l'aide d'un événement JS:

    function pageLoad() { var ss=$find("ss1"); ss.add_slideChanging(onChanging);
    //ou bien : ss.add_slideChanged } function onChanging(sender, args) { //mémorisation par cookie ou variable JS }

    Mais je n'ai pas pris le temps de tester pour l'instant.



    • Modifié Hervé DORIER mercredi 21 novembre 2012 19:25
    • Proposé comme réponse Hervé DORIER jeudi 22 novembre 2012 11:01
    • Marqué comme réponse Kiwi19 jeudi 22 novembre 2012 13:42
    mercredi 21 novembre 2012 19:17

Toutes les réponses

  • Bonjour,

    d'un point de vue fonctionnel, je ne comprend pas pourquoi tu as nécessité de faire un postback (avec refresh total de la page), si c'est pour revenir sur la même page, avec ton slideshow au même endroit. Là comme ça, je dirais qu'il te faudrait un updatepanel quelque part : si tu n'as pas de rafraichissement de page, tu n'as pas de problème ;-).

    Sur différents forum, j'ai trouvé ça pour affecter la prochaine image :

    function changeImage(imageIndex){
      slider1 = $find("behaviorID");
      slider1._currentIndex = imageIndex;
      slider1.setCurrentImage();
    }

    et pour tracer le changement d'image à l'aide d'un événement JS:

    function pageLoad() { var ss=$find("ss1"); ss.add_slideChanging(onChanging);
    //ou bien : ss.add_slideChanged } function onChanging(sender, args) { //mémorisation par cookie ou variable JS }

    Mais je n'ai pas pris le temps de tester pour l'instant.



    • Modifié Hervé DORIER mercredi 21 novembre 2012 19:25
    • Proposé comme réponse Hervé DORIER jeudi 22 novembre 2012 11:01
    • Marqué comme réponse Kiwi19 jeudi 22 novembre 2012 13:42
    mercredi 21 novembre 2012 19:17
  • Bonjour,

    Merci pour la réponse.

    Je suis désolé, je me rend compte maintenant que vous n'aviez pas assez d'élément pour m'aider. 

    En faite les images dans le slideshow sont chargés en passant par une page .ashx, par conséquent je n'arrive pas à faire en sorte de trouver un événement en javascript qui correspond à la fin du chargement de mon image par cette page !

    Exemple : je passe à l'image suivant, je veux bouger des boutons en javascript suite au redimensionnement de l'image. Je ne sais pas quand lancer ma fonction pour deplacer mes boutons !

    jeudi 22 novembre 2012 09:24
  • Sinon pour passer d'une image a une autre j'ai utiliser le javascript pour simuler un click sur le vrai bouton suivant (car j'avais 2 boutons).
    jeudi 22 novembre 2012 09:26
  • ok, mais à mon avis quelque soit la méthode de chargement des images, les événements javascript "slideChanging" ou "slideChanged" devraient te permettre d'arriver à tes fins.

    jeudi 22 novembre 2012 11:01
  • Du coup, plus de problème alors ? Parfait !

    Merci de valider ma réponse si tu pense que celle-ci répond à ta demande.

    Cordialement.

    jeudi 22 novembre 2012 11:03