我正在使用Asp.net c#develop web application
如何在新的浏览器窗口中打开response.redirect?
e.g 的Response.Redirect(http://www.asp.net);
由于
答案 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
电话。