2010-01-15 3 views
1

J'ai une vue quadrillée à l'intérieur d'un panneau de mise à jour qui contient la liste des fichiers téléchargés vers l'application. Je veux, quand une ligne est sélectionnée, sur l'événement SelectedIndexChanged pour retourner le fichier à téléchargerfichier de téléchargement de fichier ajax-updatepanel

voici le code

string path =

MyFiles.Rows [filesGrid.SelectedIndex] [ "FilePath"]. ToString ()

 FileStream fl = null; 
     try 
     { 
      fl = new FileStream(path, FileMode.Open); 

      Response.AddHeader("Content-disposition", "attachment; filename=" + fl.Name); 
      byte[] buff = new byte[fl.Length]; 
      fl.Read(buff, 0, buff.Length); 
      Response.BinaryWrite(buff); 
     } 
     catch (Exception ex) 
     { 
      lblError.Text = "Unable to download the file"; 
      lblError.ForeColor = System.Drawing.Color.Red; 
     } 
     finally 
     { 
      if (fl != null) 
       fl.Close(); 
     } 

Quand je cliquez sur Sélectionner, je reçois une erreur javascript « Erreur d'analyse près de « % PDF 1,4% ?? 2294 0 » » et rien est retourné.

Est-ce que quelqu'un a fait face à ce problème ou quelqu'un connaît-il une solution possible à cela?

Merci à l'avance

Répondre

1

Je sais, ça fait plus d'un an, mais cela pourrait aider quelqu'un d'autre:J'ai résolu mon problème (que je pense qu'il pourrait être le même que le vôtre) en ajoutant deux boutons différents, un à l'intérieur du panneau de mise à jour et un à l'extérieur, mais caché. L'utilisateur appuie sur l'un à l'intérieur du panneau de mise à jour et si tout va bien, puis exécute également le code suivant

ScriptManager.RegisterStartupScript(this, typeof(SpecimenTestExport), "fireExport", ClientScript.GetPostBackEventReference(this.btnSecondButton, ""), true); 

provoquant ainsi le deuxième bouton au feu dès que le postback async est terminée.

Espérons que cela aide quelqu'un!