2011-02-16 86 views
3

我有這種情況下,從IFrame中的按鈕重定向我的asp頁面。IFrame內Response.REdirect

按鈕單擊事件中的Response.Redirect重定向IFrame,但不是整個頁面。

感謝, 毗溼奴

回答

8

您可以將target="_top"添加到HTML <form>元素,或者使用JavaScript重定向window.top.location = '/path'

如果您有多個iframe頁面,您可能需要創建一個通用頁面,我們稱之爲FrameRedirector.aspx。將此代碼放置在身體:

<script type="text/javascript"> 
    window.top.location = '<%=Server.UrlDecode(Request.QueryString["url"])%>'; 
</script> 

然後,

string redirect = "/path/to/redirect.aspx?foo=bar"; 
Response.Redirect("~/FrameRedirector.aspx?url=" + Server.UrlEncode(redirect)); 
+0

注意更換Response.Redirect代碼,這種解決方案是不夠安全的,而不進行防範XSS /重定向驗證 – 2013-11-08 15:56:10