Ich verwende Response, um meine Anwendung ein Word-Dokument für den Benutzer zu öffnen. Wenn der Benutzer die Datei speichern möchte, wird sie gespeichert und die Datei sieht so aus, wie sie beim Öffnen aussehen sollte. Wenn der Benutzer die Datei sofort öffnet, wird ein Fehler angezeigt, der besagt, dass der IE die Datei nicht öffnen konnte. Wenn sie "Wiederholen" wählen, zeigt MS Word einen Fehler an, der besagt, dass die Datei nicht gefunden werden kann. Unten sind Screenshots, die meine Situation zeigen. Auch hier ist der Code, den ich habe, um die Datei anzuzeigen:Asp.Net Download-Datei Fehler bei der Wahl "Öffnen" in IE9
this.Context.Response.Clear();
this.Context.Response.ClearContent();
this.Context.Response.ClearHeaders();
this.Context.Response.BufferOutput = true;
this.Context.Response.ContentType = "application/msword";
this.Context.Response.AppendHeader("Content-Length", bytes.Length.ToString());
this.Context.Response.AddHeader("Content-Disposition", "attachment; filename=" + "Test Document.doc");
this.Context.Response.BinaryWrite(bytes);
this.Context.ApplicationInstance.CompleteRequest();
Hier wird der Bildschirm, wenn der Benutzer des Download-Aufforderung:
Hier wird der Bildschirm nach Benutzer wählt ‚Öffnen‘
Hier ist der Bildschirm, nachdem der Benutzer 'Wiederholen' gewählt hat. Dieser Bildschirm kommt für MS Word.
**** EDIT **** Ich habe ein Stück Code online gefunden, dass ich versucht Prüfung und Ausgabe noch occures, wenn ich diese Funktion aufrufen:
protected void GenerateMsWordDoc()
{
string strBody = "<html>" +
"<body>" +
"<div>Your name is: <b>Billy Bob</b></div>" +
"<table width='100%' style='background-color:#cfcfcf;'><tr><td>1st Cell body data</td><td>2nd cell body data</td></tr></table>" +
"Ms Word document generated successfully." +
"</body>" +
"</html>";
string fileName = "MsWordSample.doc";
// You can add whatever you want to add as the HTML and it will be generated as Ms Word docs
Response.AppendHeader("Content-Type", "application/msword");
Response.AppendHeader ("Content-disposition", "attachment; filename="+ fileName);
Response.Write(strBody);
}
Welche Version von Word wird verwendet? – Mike
Microsoft Word 2007 –
Ist Styles/Site.css ein CSS Ihrer Site? Wenn ja, haben Sie auf der Client-Seite den Antwort-Header und Inhalt überprüft, um zu sehen, ob während der EndRequest-Anfrage nichts an die Antwort angehängt wird? – jbl