IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Message d'attente pendant traitement côté serveur


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut Message d'attente pendant traitement côté serveur
    Bonjour,

    Je souhaiterai afficher un message d'attente pendant un traitement qui s'effectue côté serveur.

    Pour être un peu plus précis, lorsque un client appuie sur un bouton de validation , ça appelle une fonction qui a pour but de generer des images et cela peut prendre jusqu'à 1 minute. Je voudrai simplement afficher un message d'attente sur la page pendant le traitement du genre "generation en cours".

    Avez vous des idées pour ce type de probleme ?

    A ma grande surprise je n'ai pas trouvé beaucoup d'elements pouvant m'aider avec mon ami google même si le problème a bien entendu deja été evoqué je n'ai rien trouvé de bien clair c'est pourquoi je m'en remets à vous.

    Je travaille sous asp.net 1.1.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    C'est juste un peu de javascript
    Y a tout ce qu'il faut sur google

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Oui j'ai justement essayé avec une solution javascript

    la fonction javascript


    function gestionClic()
    {
    document.getElementById('test').innerHTML = '<em>Chargement...</em>';
    }
    [/QUOTE]


    bouton de validation
    protected void Button1_Click(object sender, EventArgs e)
    {
    Page.RegisterStartupScript("scriptKey", "<script language=\"javascript\">gestionClic();</script>");

    generation();

    }

    Lors du clique sur le bouton j'appelle la fonction gestionClic() mais ca ne resoud pas mon probleme. le message "chargement" ne s'affiche que lorsque la fonction generation() est terminee donc une fois le traitement côté serveur terminé.

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    C'est normal, t'enregistres ta fonction javascript sur le OnClick
    Mets la dans le OnClientClick ou un truc dans le genre

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    onclientclick c'est specifique à asp.net 2.0 il me semble. Bon je vais regarder si je trouve un truc equivalent.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    J'ai bien l'impression qu'il n'y a pas de solution. J'ai trouvé la solution mais seulement avec le framework 2.0 et la propriete Page.ClientScript mais malheureusement je ne peux pas passer en 2.0 ...

    N'y a t'il aucun moyen de passer outre cette methode en 1.1 ? (qui revient à faire un onclientclick je suppose )

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu mets le javascript dans le code html et voilà

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par lutecefalco
    Tu mets le javascript dans le code html et voilà
    euh je ne vois pas bien le rapport..

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    8o 8o

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Que le code javascript soit directement dans le code html ou injecté dans la page html via le codebehind, ça ne change rien au fait qu'il est exectué après le traitement côté serveur.

  11. #11
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Bah non justement, je te cherche un bout de code que j'ai fait y a pas longtemps

  12. #12
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu fais une div avec id="infos" et tu mets dedans ton message d'attente.

    Tu la caches dans le OnLoad de ton body avec <body OnLoad="hideInfos()">

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
         <script type="text/javascript">
            function hideInfos()
            {
                obj = document.getElementById('infos');
                obj.style.visibility = 'hidden';
            }
         </script>
    La fonction javascript pour afficher cette div est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            function traitementEnCours(control)
            {
                obj = document.getElementById('infos');
                obj.style.visibility = 'visible';
            }
    Il te reste juste à defnir le OnClick (coté client) pour appeller cette fonction

  13. #13
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    AHHH nikel !!!

    J'ai rajouté cette ligne dans mon page_load et ça fait exactement ce que je veux.

    Button1.Attributes["onclick"] = "javascript:traitementEnCours();";
    De cette manière il affiche d'abord mon message d'attente et effectue ensuite le traitement côté serveur. Je commençais à perdre patience, c'etait pourtant si simple. Sur le net, j'ai trouvé que des solutions "usine à gaz", genre utiliser des requetes ajax pour savoir si le serveur a bien fini, etc...

    je te remercie grandement lutecefalco. Malgré tout, j'avoue avoir quand même du mal à comprendre les priorités d'execution entre ce qui se passe côté client et côté serveur.

  14. #14
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Voilà, Button1.Attributes["onclick"] = "javascript:traitementEnCours();"; est l'quivalent 1.1 du OnClientScript en 2.0.

    Pour l'execution, c'est assez simple. Le javascript s'effectue coté client et le code behind coté serveur. Donc lors d'un clic sur un bouton, il va d'abord s'executer l'evenement OnClick coté client puis ensuite le OnClick sur le serveur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage message d'attente pendant mon traitement Java
    Par djerk dans le forum Développement Web en Java
    Réponses: 11
    Dernier message: 16/07/2013, 10h02
  2. Réponses: 3
    Dernier message: 29/11/2006, 10h45
  3. [Système] page d'attente pendant traitement system
    Par Squyrrel dans le forum Langage
    Réponses: 1
    Dernier message: 24/03/2006, 22h09
  4. Message d'attente pendant pilotage Ole Excel
    Par yottatiger dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/09/2005, 09h14
  5. [JProgressBar] Afficher barre d'attente pendant traitement
    Par Regis.C dans le forum Composants
    Réponses: 10
    Dernier message: 02/09/2005, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo