Używam odpowiedzi, aby moja aplikacja otworzyła dokument programu Word dla użytkownika. Jeśli użytkownik zdecyduje się zapisać plik, zapisuje go, a plik wygląda, jak powinien, kiedy go otworzysz. Jeśli użytkownik zdecyduje się otworzyć plik natychmiast, otrzyma komunikat o błędzie, że program IE nie może otworzyć pliku. Jeśli wybierze opcję "Ponów próbę", MS Word wyświetli komunikat o błędzie informujący, że nie może znaleźć pliku. Poniżej znajdują się zrzuty ekranu pokazujące moją sytuację. Również tutaj jest kod mam, aby wyświetlić plik:Błąd pliku pobierania Asp.Net przy wyborze "Otwórz" w 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();
Oto ekran podczas monitowania użytkownika o pobranie:
Oto ekran po użytkownik wybierze „Open”
Oto ekran po wybraniu przez użytkownika "Ponów próbę". Ten ekran nadchodzi dla MS Word.
**** EDIT **** znalazłem kawałek kodu online, które próbowałem testowanie i problem nadal occures gdy zgłoszę tę funkcję:
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);
}
Jaka wersja słowa jest używana? – Mike
Microsoft Word 2007 –
Czy styl/Site.css jest css witryny? Jeśli tak, czy po stronie klienta sprawdziłeś nagłówek odpowiedzi i treść, aby sprawdzić, czy nic nie jest dołączone do odpowiedzi podczas EndRequest? – jbl