对于页面标题:我只能对Internet Explorer说话,但是当您显示新窗口时,Internet Explorer要求始终显示标题栏(有关更多详细信息,请参阅MSDN文章About Window Restrictions)。内联查看文件时的问题是,您不会将任何HTML发送回页面,因此无法通过此方法更改标题。
我知道我们做过几种不同方法的实验,但是对于我们的用户群来说,可以确定在标题栏中没有用户可读的值。如果这对你很重要,那么我认为你唯一真正的选择将是一个基于框架的解决方案,其中你的ashx页面嵌入在一个框架(或iframe)中,并且标题页面由不同框架中的内容控制(或者该页面在您使用iframe的情况下)。
要在浏览器中查看文件而不是下载它:您需要将Response ContentType设置为该文件的适当MimeType(即PDF文件的“application/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();
我不相信这是可能的。 –