2011-09-05 196 views

答えて

11

ASP.NETを使用してこれを行うことはできません。サーバー側のASP.NETは、着信要求をリダイレクトでき、親フレームについて知ることができません。

しかし、あなたには、いくつかのサーバー側の条件に親フレームをリダイレクトしたい場合は、次のようにサーバからJavaScriptを呼び出すことができます。

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

そしてもちろん、あなたが簡単なJavaScriptのwindow.parent.location =「HTTPを使用することができます。 //yoursite.com 'をクライアント側に追加します。

+1

注意。 – Chris

+0

私の親がフレームに別のドメインを持っていれば? – Kiquenet

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

私はちょうど次のコードを成功させました。それもX-Frame-Options SAMEORIGINをバイパスし、1つのドメインからのiframe内の別のものにリダイレクトすることができます:フレームと親フレームのドキュメントのドメインは、ほとんどのブラウザによってスローされているアクセス拒否エラーを回避するために一致する必要があること

string url = "https://siteurl.com"; 
Response.Write("<script>top.location='"+url+"';parent.location='"+url+"';</script>"); 
関連する問題