La risposta esatta alla domanda dipende da come si fa a avere il vostro rapporto organizzata (vale a dire quello che è il "oggetto" si sta riferendo). Se si dispone di una singola stringa, è possibile utilizzare Response.Write per scriverlo. Se hai bisogno di un TextWriter, Response.Output è quello che vuoi - in questo modo puoi saltare la scrittura sul disco e poi usare WriteFile. Inoltre, se il tuo contenuto dovesse essere binario, potresti usare Response.OutputStream per quello.
È anche possibile impostare Response.AddHeader ("Content-Disposition", "attachment"), se si desidera che l'utente visualizzi una finestra di dialogo di salvataggio. Tuttavia, Content-Disposition non è necessariamente rispettato, quindi l'utente può comunque aprire il report direttamente nel browser. Ricorda di impostare le intestazioni prima di pubblicare il contenuto reale!
Inoltre, a seconda del formato del report, è possibile impostare Response.ContentType su qualcosa di appropriato come text/plain, text/csv o qualsiasi altra cosa. I tipi di mime corretti sono elencati allo the IANA site.
fonte
2009-07-02 06:49:09
questo codice scrive scrivi al mio browser. Non ho richieste. IReport rpt = new ContxReport(); string report = rpt.makeReport(); Codifica ASCIIEncoding = new ASCIIEncoding(); byte [] encodedReport = encoding.GetBytes (report); Risposta.ContentType = "text/plain"; Response.OutputStream.Write (encodedReport, 0, encodedReport.Length); Response.AddHeader ("Content-Disposition", "inline; filename = shit.csv"); Response.End(); – jim
Inoltre, è necessario impostare tutte le intestazioni prima di scrivere. – Talljoe
Che cos'è *** buffer ***? Il buffer – Kiquenet