Запись нескольких типов контента в веб-часть Поток ответа страницы - PullRequest
2 голосов
/ 27 сентября 2011

Можно ли записать более одного типа контента в поток ответов страницы в ASP.NET?

Я работаю над веб-частью в приложении Sharepoint, которое сначала записывает HTML-код в ответ страницыпоток, чтобы закрыть модальное диалоговое окно, а затем записывает байтовый массив для документа Word в качестве вложения, которое будет открыто в браузере.

Следующий код иллюстрирует то, что я хотел бы сделать:

var response = Page.Response;

response.ContentType = "text/html";
response.Write(
    "<script type=\"text/javascript\">//javascript</script>");
response.Flush();

response.ContentType = "application/octet-stream";
response.AddHeader("Content-Disposition", 
    "attachment; filename=WordFile.docx");
response.BinaryWrite(byteArray);
response.End();

Этот код выдает исключение с сообщением:

Сервер не может установить тип содержимого после отправки заголовков HTTP

Что имеет смысл для этого кода.Можно ли как-то обойти это?

1 Ответ

1 голос
/ 27 сентября 2011

Нет, нет, учитывая, что тип содержимого отправляется в ответе HTTP и что вы отправляете один ответ, тип содержимого может быть только одного типа.

При этом вы будетеваш клиент должен выполнить два отдельных запроса: один для получения содержимого HTML, а затем один раз для получения документа Word.

...