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 :

Blocage de ma page après un envoi de fichier


Sujet :

ASP.NET

  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut Blocage de ma page après un envoi de fichier
    Bonjour,

    Je développe actuellement en ASP.NET, plus particulièrement des UserControl.
    J'ai créé une fonction qui construit un fichier csv selon les données présentes dans une DataTable.
    Mon problème est relativement genant :
    A partir du moment où l'utilisateur a choisi "ouvrir" ou "enregistrer" et que le téléchargement est terminé, la page se bloque !
    La seul solution pour que la page ne soit plus bloquée, c'est de la recharger.
    Et cette solution ne convient, ni à moi, ni à mon tuteur !
    J'ai cherché mais je n'ai pas trouvé la solution !!

    Voici mon code :
    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
     
    protected void createCSV(System.Data.DataTable dtTemp)
    	{
    		string contenu = "";
    		DataTable DT_Tri = new DataTable();
    		DataView DVTmp = new DataView(dtTemp);
    		DVTmp.Sort = dtTemp.Columns[0].ColumnName + " asc";
    		DT_Tri = DVTmp.ToTable();
     
    		foreach (DataColumn dc in DT_Tri.Columns)
    		{
    			contenu += dc.ColumnName + "; ";
    		}
     
    		// On passe à la ligne et on saute une ligne
    		contenu += Environment.NewLine;
    		contenu += Environment.NewLine;
     
    		foreach (DataRow dr in DT_Tri.Rows)
    		{
    			foreach (DataColumn dc in DT_Tri.Columns)
    			{
    				contenu += dr[dc.ColumnName] + "; ";
    			}
    			// On passe à la ligne après avoir parcouru la ligne entière
    			contenu += Environment.NewLine;
    		}
     
    		contenu += Environment.NewLine;
    		contenu += "Exporté le " + DateTime.Now.Date.ToString("dd/MM/yyyy") + "; ";
    		contenu += " à " + DateTime.Now.Hour.ToString() + "h" + DateTime.Now.Minute + "; ";
     
    		HttpContext.Current.Response.Clear();
    		HttpContext.Current.Response.ClearHeaders();
    		HttpContext.Current.Response.ClearContent();
    		HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=Resultat_Recherche.csv");
    		HttpContext.Current.Response.ContentType = "text/csv";
    		HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding(1252);
    		HttpContext.Current.Response.Write(contenu);
    		//HttpContext.Current.Response.End();
    		HttpContext.Current.Response.Flush();
    		HttpContext.Current.Response.Close();
     
    	}
    J'ai absolument besoin de trouver une solution !!

    Merci d'avance pour toute aide.

    ElViRuS

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    As-tu jeté un oeil à ceci: http://dotnet.developpez.com/faq/asp...dcurrentwindow

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut
    Merci de ta réponse Immobilis.

    Je viens d'y jeter un coup d'oeil, j'ai repris le même code mais ça ne fonctionne pas !!!

    I need help please

    ElViRuS

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    la page se bloque: c'est à dire: elle ouvre le document (ou ouvre une pop-up de windows) et ne fait plus rien ?

    si c'est le cas c'est normal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpContext.Current.Response.Close();

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut
    Salut,

    Merci de ta réponse mermich.

    En fait, une pop-up s'ouvre, on choisit soit "ouvrir" soit "enregistrer" et une fois l'action terminée, la page est figée. Il faut la recharger pour pouvoir continuer la navigation.

    Même avec ta ligne de code, ça ne change rien

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Je dis justre que le comportement que tu rencontres est normal, et qu'il est normal qu'i l faille recharger pour pouvoir continuer la navigation:

    Lors du clic sur ton bouton tu utilise la réponse http pour envoyer le fichier, il n'est donc pas possible d'afficher en plus une page html, c'est soit l'un, soit l'autre.

    Du coup, plusieures solutions demeurent:
    • creer une iframe invisible qui envoie le fichier et dans l'autre frame afficher la page (je n'ai jamais essayer cette solution).
    • ouvrir une pop-up qui va renvoyer le fichier
    • ...


    Voila, bonne chance.

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut
    Merci de ta réponse.

    Mais pourtant c'est bien ce qu'il se passe, j'ai une pop-up qui s'ouvre.
    Je sens que je vais pas y arriver sur ce coup la

  8. #8
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut
    Bon ba je suis toujours avec mon problème

    mermich tu n'aurais pas un exemple de création de pop-up avec envoi d'un fichier par hasard stp ???

    Je vois vraiment pas comment faire !

    Merci d'avance.

    ElViRuS

  9. #9
    Membre averti
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Par défaut
    Bon ba j'ai trouvé une solution (depuis quelques temps).

    J'utilise une pop up pour envoyer le fichier, comme ça lorsque l'envoi est fini, la fenêtre se ferme automatiquement.

    Peut-être que ça servira à quelqu'un

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

Discussions similaires

  1. [PHP 4] Actualiser page après l'envoi d'un formulaire
    Par Coolraoul dans le forum Langage
    Réponses: 2
    Dernier message: 17/05/2013, 11h43
  2. Rafraichier la page aprés téléchargement d'un fichier
    Par sanouk dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/12/2009, 17h35
  3. [PHP 5.2] Actualiser la page après un téléchargement de fichier
    Par EmperorJay512 dans le forum Langage
    Réponses: 3
    Dernier message: 25/06/2009, 10h32
  4. pb de redirection de page après envoi de formulaire
    Par mariah201083 dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2007, 16h44
  5. Rechargement de page après envoi de fichier
    Par marieR dans le forum Struts 1
    Réponses: 11
    Dernier message: 30/01/2007, 14h40

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