如何打开新的浏览器窗口

时间:2009-03-19 18:03:37

标签: c# asp.net

我正在使用Asp.net c#develop web application

如何在新的浏览器窗口中打开response.redirect?

e.g 的Response.Redirect(http://www.asp.net);

由于

2 个答案:

答案 0 :(得分:5)

这是一个非常常见的问题,答案是你做不到。

原因是当浏览器将请求发送到将加载页面的服务器时已经确定了,所以当代码开始在服务器上运行时,更改页面加载的位置为时已晚。

您可以将javascript添加到将打开新窗口的页面,但您仍然必须将页面作为对请求的响应发送回浏览器(即您不能将当前页面保留在浏览器中,如浏览器已经请求一个页面来替换它。)

ClientScript.RegisterStartupScript(this.GetType(), "aspnet", "window.open('http://www.asp.net','_blank');", true);

答案 1 :(得分:3)

遗憾的是,您无法从服务器执行此操作,您必须使用客户端代码来创建新的浏览器窗口。您可以使用Javascript函数window.open执行此操作。

这样做的一种方法是将您希望发送用户的URL嵌入到隐藏的输入中,然后当页面呈现具有Javascript函数时,该函数将检查该值的输入,如果找到了它,则进行window.open电话。