2011-09-05 15 views

risposta

11

Non è possibile farlo utilizzando ASP.NET. ASP.NET sul lato server può reindirizzare la richiesta in entrata e non può conoscere un frame principale.

Ma se si desidera reindirizzare frame padre a una certa condizione lato server è possibile chiamare JavaScript dal server in questo modo:

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

E naturalmente è possibile utilizzare semplici window.parent.location JavaScript = 'http: //yoursite.com 'dal lato client.

+1

Nota che i domini del telaio e della controllante documenti telaio dovranno corrispondere per evitare un accesso negato errore è gettato dalla maggior parte dei browser . – Chris

+0

Se il mio genitore ha un altro dominio nel frame? – Kiquenet

1
Response.Clear(); 
Header.Controls.Add(new LiteralControl(@" 
<script type=""text/javascript""> 
top.location = ""/Logout.aspx""; 
parent.location = ""/Logout.aspx""; 
</script> 
")); 
5

Ho appena utilizzato il seguente codice con esito positivo. E 'anche bypassato il X-Frame-Options SAMEORIGIN e permette il reindirizzamento da un dominio a un altro in un iframe:

string url = "https://siteurl.com"; 
Response.Write("<script>top.location='"+url+"';parent.location='"+url+"';</script>"); 
Problemi correlati