2010-05-07 107 views

回答

4

当你的网页是一个iframe里面,Response.Redirect只重定向相同的页面,也就是在iframe,而不是父一个 - 一个解决方法是注册一个JavaScript调用,能“说”父窗口重定向。在代码

ClientScript.RegisterStartupScript(this.GetType(), "scriptid", 
      "window.parent.location.href='redirectpage.aspx'", true); 

后面父窗口重定向到一个新的位置:

例如,你可以做到这一点。

就像您可以从任何javascript代码调用此脚本来向顶部窗口发送重定向一样。

top.location.href = "redirect.aspx" ; 

参考:asp.net forum
How to prevent IFRAME from redirecting top-level window

+0

什么是 “scriptid” 代表什么?那只是我们正在查看的给定ClientScript进程的名称?或者那个名字被其他地方引用?我假设这是一个.cs文件中的条件语句,对吧?顺便谢谢你的解决方案! – blackhawk 2013-04-12 15:43:43

+1

@blachawk scriptid只是一个随脚本一起出现的随机名称。 ClientScript检查该名称并避免多次添加相同的ID。 – Aristos 2013-04-12 16:58:07

-1

在Asp.net只需使用:

 Response.Redirect("webpagename.aspx"); 
+1

您似乎没有阅读过这个问题。这只会重定向*该帧,而不是整个页面。 – 2012-08-22 11:55:35

相关问题