ASP.NET iFrame Response.Redirect父窗口

时间:2014-11-03 20:45:04

标签: html asp.net iframe

是否可以在iFrame中执行response.redirect以重定向整个页面,以便目标页面可以全屏显示而不包含在iFrame中?

以下是

背后的当前代码
public partial class ServerResult : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

非常感谢任何帮助: - )

1 个答案:

答案 0 :(得分:1)

没有。

Response.Redirect是一个服务器命令,它发送(302?)标题告诉客户端重定向。

你在iframe世界。您无法告诉服务器:"嘿,当您向我发送数据时 - 将其发送给父iframe"

但是你能做什么,是这样的:

protected void Page_Load(object sender, EventArgs e) {
   ClientScriptManager.RegisterClientScriptBlock(this.GetType(), 
       "aaa", "window.parent.location = 'http://yoursite.com'", true);
}

但您必须从服务器中删除response.redirect。

修改

var page = HttpContext.Current.Handler as Page;
            if (page != null) page.ClientScript .RegisterClientScriptBlock(typeof(string), "Redirect", "window.parent.location='" + url + "';", true);