2011-09-05 29 views

Trả lời

11

Bạn không thể thực hiện việc này bằng ASP.NET. ASP.NET trên phía máy chủ có thể chuyển hướng yêu cầu đến và không thể biết về một khung cha mẹ.

Nhưng nếu bạn muốn chuyển hướng khung cha mẹ trên một số điều kiện phía máy chủ bạn có thể gọi JavaScript từ máy chủ như thế này:

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

Và dĩ nhiên bạn có thể sử dụng đơn giản window.parent.location Javascript = 'http: //yoursite.com 'ở phía khách hàng.

+1

Lưu ý rằng các lĩnh vực của khung và phụ huynh các văn bản khung sẽ cần phải phù hợp để tránh một access denied lỗi được ném bởi hầu hết các trình duyệt . – Chris

+0

Nếu bố mẹ tôi có miền khác trong khung? – Kiquenet

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

Tôi vừa sử dụng mã sau đây với thành công. Nó thậm chí bỏ qua các X-Frame-Options SAMEORIGIN và cho phép chuyển hướng từ một miền với nhau trong một iframe:

string url = "https://siteurl.com"; 
Response.Write("<script>top.location='"+url+"';parent.location='"+url+"';</script>"); 
Các vấn đề liên quan