Http响应对象在新窗口中

时间:2011-07-28 17:08:24

标签: c# asp.net webforms httpresponse

我设置了一个按钮单击事件来从我的数据库中检索字节数组对象,然后它将在新的浏览器窗口中显示该文件。现在我有这么多:

Response.ContentType = "image/jpeg";
Response.AddHeader("content-length", fileBytes.Length.ToString());
Response.BinaryWrite(fileBytes);

其中fileByes是我的字节数组。这是完美的,但我需要强制它在新窗口中打开。我尝试使用response.write将javascript添加到响应中,但这似乎不起作用。

4 个答案:

答案 0 :(得分:2)

您无法从服务器端代码打开新窗口。您需要从JavaScript调用window.open()并将URL传递给返回该文件的页面。

答案 1 :(得分:2)

编写您的响应是在服务器端处理的。在客户端处理显示您的响应。考虑到服务器的响应,您必须告诉客户打开一个新窗口,例如

<a href="getImage.aspx" target="_blank">Get Image</a>

其中getImage.aspx是负责提供图片/页面的ASP.NET页面。

答案 2 :(得分:1)

您希望单击按钮打开新的浏览器窗口,然后调用您在问题中发布的代码。你正试图倒退。

答案 3 :(得分:0)

使用带有空白.aspx的网址的超链接,
将网址中的参数传递为?param=4&param2 ...等 在页面的加载事件中,将响应代码放在那里。