2010-08-18 2 views
1

J'ai quelques boutons de liaison qui ouvrent chacun la boîte de dialogue de sauvegarde pour permettre aux utilisateurs d'enregistrer le fichier sur la machine locale. Mais après avoir cliqué sur un lien, la page est morte après (rien ne fonctionne) et la page doit être rafraîchie.La page est morte après avoir cliqué sur le lien de téléchargement

Alors dois-je forcer l'actualisation une fois le téléchargement terminé ou doit-il faire quelque chose avec la publication?

{ 

     StringCollection strValuesToSearch = new StringCollection(); 

     strValuesToSearch.Add("findword"); 

     string stringToReplace; 

     stringToReplace = TextBox1.Text; 




     using (StreamReader reader = new StreamReader(Server.MapPath("~/test.txt"))) 
     { 
      string result = reader.ReadToEnd(); 





      foreach (string s in strValuesToSearch) 
      { 

       if (result.Contains(s)) 

        result = result.Replace(s, stringToReplace); 




       Response.Clear(); 
       Response.AppendHeader("content-disposition", "attachment; filename=super.txt"); 
       Response.ContentType = "text/plain"; 
       UTF8Encoding encoding = new UTF8Encoding(); 
       Response.BinaryWrite(encoding.GetBytes(result)); 
       Response.Flush(); 
       Response.End(); 
+0

Cela dépend de la façon dont ces LinkButtons fonctionnent réellement - comment ils poussent le fichier vers le bas? –

+0

Incluez une partie de votre code qui gère cela. –

+0

Publiez une partie du code qui récupère les fichiers à télécharger, pas seulement le code d'actualisation. – Parker

Répondre

1

En l'absence de code côté client, cela est juste une supposition sauvage à ce qui est l'origine du problème:

  1. utilisateur clique sur un bouton de lien
  2. JS initie get ou post ajax appel au serveur, envoi de données
  3. Le serveur envoie l'en-tête content-disposition suivi des données de fichier
  4. Le processus ajax attend un autre en-tête l'action est terminée et cet en-tête n'arrive jamais, alors il attend indéfiniment le verrouillage de l'interface utilisateur.
Questions connexes