将整个页面从MVC3 Razor iFrame页面重定向到其他URL

时间:2011-11-23 00:51:51

标签: asp.net-mvc-3 razor

我有一个剃刀页面 https://myDomain1.com/myFrame.cshtml ,上面有一个“继续”按钮

这个剃刀页面是另一个 parent.cshtml

中的iframe

当我点击“继续”按钮时,我想将整个页面(包括父页面)重定向到https://myDomain2.com/default

以下是我的控制器中的ActionResult

[HttpPost]
    public ActionResult myFrame(TestViewModel model)
    {

      Response.Redirect("https://myDomain2.com/default");

       return View(model);
    }

使用上面的代码,只有页面的iframe部分重定向,但我的要求是将整个页面重定向到 https://myDomain2.com/default 我的问题在于,我想将整个页面(包括父页面)重定向到 https://myDomain2.com/default

请帮我了解如何将整个页面重定向到其他域名

2 个答案:

答案 0 :(得分:7)

如果您必须使用此解决方案(坚持使用框架),只需包含javascript内容结果 - 这些内容如下:


    [HttpPost]
    public ActionResult myFrame(TestViewModel model)
    {
       return Content("<html><script>window.top.location.href = "http://www.whatever.com"; </script></html>");
    }

您的相框必须位于同一个网域中才能发挥作用。

答案 1 :(得分:6)

HTTP不允许您在响应中指定目标框架。

相反,请在原始target="_top"中设置<form>,或在目标页面中放置Javascript frame-buster。