Для заголовка страницы: я могу говорить только с Internet Explorer, но когда вы открываете новое окно, Internet Explorer требует, чтобы строка заголовка всегда отображалась (см. Статью MSDN Об ограничениях окна Больше подробностей). Проблема при просмотре встроенных файлов заключается в том, что вы не отправляете какой-либо HTML обратно на страницу, поэтому нет способа изменить заголовок этого метода.
Я знаю, что мы экспериментировали с несколькими различными подходами, но решили, что для нашей пользовательской базы было бы нормально не иметь удобочитаемого значения в строке заголовка. Если это важно для вас, то я думаю, что единственным реальным вариантом было бы решение на основе фреймов, где ваша страница Ashx встроена во фрейм (или iframe), а титульная страница контролируется контентом в другом фрейме (или части страница в том случае, если вы используете iframe).
Чтобы просмотреть файл в браузере, а не загружать его: вам нужно установить для Response ContentType соответствующий MimeType для файла (то есть «application / pdf» для файлов PDF) и добавить заголовок Content-Disposition, который указывает файл должен быть открыт в строке и имя файла для пользователя. Вы также должны убедиться, что другой контент и заголовки удалены из ответа.
this.Context.Response.ClearContent();
this.Context.Response.ClearHeaders();
this.Context.Response.ContentType = "application/pdf";
this.Context.Response.AddHeader("Content-Disposition", "inline; filename=mytest.pdf");
this.Context.Response.TransmitFile(sLocalFileName);
this.Context.Response.Flush();