2011-09-05 21 views

cevap

11

Bunu ASP.NET kullanarak yapamazsınız. Sunucu tarafında ASP.NET, gelen isteği yeniden yönlendirebilir ve bir ana çerçeve hakkında bilgi sahibi olamaz.

Ama böyle sunucudan JavaScript çağırabilir bazı sunucu tarafı durumuna üst çerçeve yönlendirmek istiyorsanız:

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

Ve tabii ki basit JavaScript window.parent.location kullanabilirsiniz = 'http: //yoursite.com 'müşteri tarafında.

+1

Not çerçeve ve üst çerçeve belgelerin etki hata çoğu tarayıcı tarafından atılan inkar bir erişim önlemek için maç için ihtiyaç duyacağı . – Chris

+0

Ebeveynimin çerçevede başka bir alanı varsa? – Kiquenet

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

Aşağıdaki kodu yalnızca başarıyla kullandım. Hatta X-Frame-Options SAMEORIGIN atlanır ve bir iç çerçeveye başka bir alandan diğerine yönlendirmeyi sağlar:

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