从弹出窗口重定向

时间:2010-02-13 10:17:40

标签: asp.net

如何使用response.redirect从弹出窗口重定向到另一个页面。

2 个答案:

答案 0 :(得分:1)

我假设当用户按下弹出按钮或某个按钮时你想要这样做。您可以使用 ClientScript.RegisterStartupScript 函数让ASP.Net将一些JavaScript放在正确的位置,以便在回发完成后立即执行。像这样......

public void RedirectParent(string url)
{
    string js = "";
    js += "window.opener.location.href='" + url + "';";
    js += "window.close();";
    ClientScript.RegisterStartupScript(this.GetType, "redirect", js, true);
}

如果您想要保持弹出窗口打开,可以删除 window.close()行,但我猜您要自动关闭它。

最后一行的“redirect”位只是您要分配给脚本的名称 - 这可以是您想要的任何内容。

答案 1 :(得分:0)

打开指定URL的弹出窗口后,您无法使用服务器端脚本重定向父级。你需要在弹出窗口中使用javascript:

if (opener && !opener.closed) {
    opener.location.href = "http://www.example.com/somenewurl";
}