Response.Redirect()在Asp.Net的新窗口中

时间:2012-01-02 02:22:08

标签: c# javascript asp.net .net

我该怎么做呢?我想用c#处理服务器端的一些数据,新页面应该在新窗口中打开。 提前致谢

2 个答案:

答案 0 :(得分:4)

现在几乎所有浏览器都打开一个新窗口,必须从用户点击事件中调用。几乎所有浏览器(并且这涵盖了大约99%的情况)将阻止从页面加载事件调用的弹出窗口,因此我建议您重新考虑您的解决方案,可能是通过显示将在新窗口中打开的链接。

我要做的是打开点击事件的新窗口,这将打开您的处理页面,然后该页面将重定向到您想要的任何页面。基本上,首先使用click事件打开弹出窗口,然后在新页面中进行重定向。

答案 1 :(得分:3)

使用Response.Write无法做到这一点。一旦请求被发送到服务器,就已经决定了所请求页面的打开位置。因此,当服务器代码运行时,更改页面打开的位置已经太晚了。

如果要在新窗口中打开页面,必须在将请求发送到服务器之前完成。您应该发送一个_blank作为目标的请求,而不是回发。您可以使用以下链接:

<a href="Page.aspx" target="_blank">...</a>

您可以在Javascript中使用window.open方法:

window.open('Page.aspx', '_blank');