Attention !

Ce site n'est plus maintenu. Retrouvez l'article sur Colorseeds.net

Vous allez être redirigé dans 5 secondes...

Vous êtes ici : Accueil > Blog technique > ASP.NET : Renvoy

ASP.NET : Renvoyer un ContentType différent (excel, CSV, doc...)
15/02/2011

Quelques conseils quand une page renvoie un flux différent que du  "text/html" :

  • Préciser l'encoding : Response.ContentEncoding = System.Text.Encoding.Default;
  • Générer le contenu dans le Page_Load, et finir par : Response.End();
  • Exemple :

 protected void Page_Load(object sender, EventArgs e)
    {

       
Response.Clear();

        // Type de contenu de la réponse
       
Response.ContentEncoding = System.Text.Encoding.Default;
        Response.Charset = "iso-8859-1";
        Response.ContentType = "text/csv";

                
        // Entête
       
Response.AddHeader("Pragma", "no-cache");

        // Force le navigateur à faire un "enregistrer sous..."
       
Response.AddHeader("Content-Disposition", "attachment; filename=\"fichier.csv\"");

        // Corp de la réponse
       
Response.Write("bla bla bla");

        // Pas de cache
       
Response.CacheControl = "no-cache";
        Response.Expires = -1;
        Response.End();

    }

NB : Dans le corps de la réponse, pour faire des retours à la ligne "propres", il faut utiliser : System.Environment.NewLine

Ajouter un commentaire

Auteur


Email


Message *