Bonjour tout le monde,
j'ai un petit souci au niveau de la compatibilité des navigateurs. Je suis en train de développer une application pour un client afin de faire des recherches sur une base de données de certains musées. Bref, donc sur la liste de résultats, j'ai un bouton "Télécharger" qui permet en fait de télécharger au format word ma liste de résultats affichés sur la page.
Sous IE7, IE8 et FF tout fonctionne bien, lorsque je clique sur le bouton, il m'ouvre bien une pop-up du navigateur avec le choix pour ouvrir, enregistrer ou annuler avec le nom de fichier que je lui donne et la bonne extension (
Selection_<date_du_jour>).
Par contre sous IE6, deux cas sont possible : soit je clique sur le bouton Télécharger et donc tout s'affiche dans la page web en perdant les données initiales, soit j'ai bien la fenêtre pop-up du navigateur, mais le nom du fichier n'est pas celui que je lui donne mais le fichier s'appelle par la page web en cours et ne comporte pas d'extension (par exemple ma page de résultats s'appelle
brief.aspx, le nom du fichier est
brief)
Voici le code :
//Résultats des recherches au format html convertis en string
string html = string.Format("<html><body>{0}</body></html>",data.Ui.TransformXml(data.LastXml));
byte[] html_byte = System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(html);
if (html_byte != null && html_byte.Length > 0)
{
Response.Clear();
Response.AddHeader("Content-Disposition", string.Format ("attachment; filename={0}_{1}.doc", TranslateLabel.Translate("fileSelection"), DateTime.Today.ToShortDateString()));
Response.AddHeader("Content-Length", html_byte.GetLength(0).ToString());
Response.ContentType = "application/octet-stream";
Response.Charset = "iso-8859-1";
MemoryStream ms = new MemoryStream(html_byte);
ms.WriteTo(Response.OutputStream);
ms.Close();
Response.End();
}
Est-ce-quelqu'un aurait une idée sur comment rendre compatible pour IE 6 cette fonction???
Merci d'avance et bonne fin de journée!!!!