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 :

DataBind() et fenêtre de téléchargement


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut DataBind() et fenêtre de téléchargement
    Bonjour,

    j'ai un problème, j'ai une page avec un gridview contenant tous les enregistrements d'une table de ma BD.

    Quand je clic sur un lien ça ajoute une ligne à ma table puis ça propose le téléchargement d'un fichier dans une pop-up.

    Voici l'extrait de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // on ajoute une ligne dans la table
    BLLBs03FicheSuivi.NewBs03FicheSuivi(0, idBS, fileURL);
    HeaderBilanSante02.DataBind();
     
    // on propose le téléchargement du fichier
    response.ClearHeaders();
    response.ClearContent();
    response.ContentType = "application/force-download";
    string header = String.Format(CultureInfo.InvariantCulture, "attachment; filename={0}", fileName);
    response.AppendHeader("content-disposition", header);
    response.BinaryWrite(result);
    response.End();
    Le problème c'est que le DataBind() n'a aucun effet sur mon gridview. Il faut un rafraichissement de ma page pour voir les modifications du gridview

    J'ai essayé d'enlever la ligne :
    Toujours sans effet...

    J'ai également essayé de rajouter cette instruction à la fin pour rafraichir ma page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Response.Redirect(this.Page.Request.Url.AbsoluteUri, false);
    Dans ce cas le le DataBind fonctionne mais le téléchargement n'est plus proposé.

    Comment faire pour que à la fois le DataBind et le téléchargement fonctionne ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Pourquoi ne pas ouvrir une page aspx en pop-up via javascript ? Dans cette page, tu lance le téléchargement du fichier, puis tu la fermes automatiquement (pas de gêne pour l'utilisateur, à part voir apparaître un pop-up quelques secondes).

    Ou bien, dans ta page, tu Bind normalement ta gridview et affiche un lien bien visible qui dit "Cliquez ici pour télécharger le nouveau fichier".

    Ou encore, un pop-up qui s'ouvre, avec le même lien à l'intérieur.

    En espérant t'avoir aidé.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse, mais j'aimerai éviter de passer par une autre page aspx ouverte dans un popup.

    Il faudrait également que la proposition de téléchargement intervienne suite au clic sur mon lien.

    D'autres pistes ?

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Je ne pense pas que tu ais le choix

    Envoyer un fichier du serveur vers le client = une réponse HTTP.
    Binder ta GridView = une autre réponse HTTP.

    C'est soit l'un ou soit l'autre, ou bien un téléchargement différé (lien), ou bien un pop-up.

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ok je vais creuser et trouver la meilleure solution possible.

    Encore merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai une question. Si j'utilise une autre page aspx ouverte dans un popup pour lancer mon téléchargement, est-il possible de fermer automatiquement cette page ? Ou vais-je me retrouver devant le même problème (à savoir fermer la page = une réponse http et lancer le téléchargement = une réponse http) ?

    Merci.

    NF.

Discussions similaires

  1. Fenêtre de téléchargement de Firefox 3.6.6
    Par Daejung dans le forum Firefox
    Réponses: 6
    Dernier message: 14/09/2010, 23h23
  2. Personnalisation de la fenêtre de téléchargement
    Par cyanure93 dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2007, 16h55
  3. affiche une fenêtre de téléchargement
    Par nickg dans le forum ASP
    Réponses: 7
    Dernier message: 23/05/2007, 21h51
  4. Réponses: 6
    Dernier message: 02/06/2006, 16h55
  5. Fenêtre de téléchargement
    Par Newt dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2006, 23h34

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