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 :

Changer curseur à la fin d'un traitement d'un clic de button


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut Changer curseur à la fin d'un traitement d'un clic de button
    Bonjour,

    Sur une page, j'ai un button asp qui permet d'exporter un CSV et je dois mette le curseur en "occupé" pendant le traitement.

    Pas de problème pour changer le curseur sur le onclick, c'est fait avec un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btnExporterCsv.Attributes.Add("onclick", "document.body.style.cursor = 'wait';");
    Par contre, je n'arrive pas à remettre le curseur en normal à la fin du traitement.

    J'ai essayé pas mal de solution tel que :
    http://www.developpez.net/forums/d45...t/#post2785750
    http://www.dotnetcurry.com/showarticle.aspx?ID=274
    et moult pages sur Stackoverflow et CodeProject, mais rien ne marche

    Voici le code asp du clic du button :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
            protected void btnExporterCsv_Click(object sender, EventArgs e)
            {
     
                // recuperation des criteres
                listeCriteres = recupererListeCriteres();
                if (listeCriteres.Count == 0)
                {
                    AfficherMessage("Liste de projets", "Au moins un critère soit être saisi", Severity.Warn);
                    return;
                }
     
                RechercherPrj(listeCriteres);
     
                    if (listeProjet != null && listeProjet.Count > 0)
                    {
                        // formattage du nom de fichier : Planification_YYYYMMDD.csv
                        DateTime aujourdhui = DateTime.Now;
     
                        string nomFichierCSV = string.Format("ExportTotalSRV_{0}.csv", aujourdhui.ToString("yyyyMMdd"));
     
                        //...
                        // création du memory stream msRetour
                        //...
     
                        // Supprime tout le contenu du flux de sortie envoyé au client
                        this.Response.Clear();
                        // Ajout d'un en-tête décrivant le flux envoyé au client
                        this.Response.AddHeader("content-disposition", "attachment; filename=" + nomFichierCSV);
                        this.Response.ContentType = "application/csv";
     
                        Encoding type_encode_prevu = srvExport.getConstEncodage();
                        this.Response.ContentEncoding = type_encode_prevu;
                        this.Response.BinaryWrite(type_encode_prevu.GetPreamble());     // 
     
                        Response.BinaryWrite(msRetour.ToArray());
     
                        // test pour remettre le curseur en default
                        //if (!Page.ClientScript.IsStartupScriptRegistered("Curseur_Normal"))
                        //{
                        //    Page.ClientScript.RegisterStartupScript
                        //        (this.GetType(), "Curseur_Normal", "Curseur_Normal();", true);
                        //}
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "Curseur_Normal", "document.body.style.cursor = 'default';",true);
                        // Fin de la réponse. Le code après n'est pas exécuté
                        this.Response.End();
                    }
                    else
                    {
                        AfficherMessage("Export Planification", "Aucun projet dans l'export demandé !", Severity.Error);
                    }
            }
    Si vous avez une idée ?

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    J'ai exactement le même problème et ne trouve aucune solution.

    Avez vous une astuce? un contournement ?

    Merci

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    La traitement se fait il dans un update panel ?

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Le traitement est dans un feuille qui se charge dans une MasterPage au niveau d'un ContentPlaceHolder.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                <!--Corps de la page-->            <div id="Div_Coprs" class="Master_main">
                    <asp:ContentPlaceHolder ID="Corps" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
    Je suis tombé sur cette article mais je suis en framework 4 avec IE 11
    http://support.microsoft.com/kb/243527/fr

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Si c'est un callback standard. (scriptmanager & update panel) tu peux ajouter lors du chargement de ta page le javascript suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(tafonctionjs)
    Dans tafonctionjs tu peux remettre le curseur d'origine.

    Si c'est un postback normalement tu n'as rien a faire...

    A+

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    L'appel se fait via un bouton en runat=server, je crois que c'est un postback standard (me dire si je fais fausse route)

Discussions similaires

  1. [JTextArea] Positionner le curseur à la fin
    Par frouge dans le forum Composants
    Réponses: 2
    Dernier message: 01/09/2005, 17h23
  2. [D6] Déplacer curseur à la fin dans TEdit
    Par Lung dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/08/2005, 13h02
  3. objet.value = ""; et laisser le curseur à la fin
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/08/2005, 21h11
  4. [JTextArea] comment mettre le curseur à la fin du texte
    Par romuluslepunk dans le forum Composants
    Réponses: 2
    Dernier message: 12/08/2005, 09h19
  5. changer curseur
    Par ChIcKeN78 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/05/2005, 10h29

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