【发布时间】:2010-10-27 11:32:53
【问题描述】:
我编写了一个在 IFrame 中运行的 Asp .Net MVC 应用程序。当我的一个控制器方法返回 RedirectToAction() 时,我希望顶部浏览器 URL 重定向到该地址,而不仅仅是我的 IFrame。我该怎么做呢?因为我在另一个站点中运行,所以我需要将绝对 URL 传递给浏览器,即 'http://parentsite.com/myapp/{controller}/{action}'
我想这相当于将我的超链接的目标属性设置为“_top”,以便整个站点重定向(通过扩展 HtmlHelper 这将非常简单),但是我如何为服务器端重定向做呢?
到目前为止,我的解决方案是覆盖 OnResultExecuting,提取我打算重定向到的 URL,然后重定向到一个 Frame Breaker View,将我最初打算重定向到的 URL 作为参数传递。 Frame Breaker View 只是写出一些将顶部浏览器 URL 设置为我的原始 URL 的 javascript。这种方法比我想要的多了一个 HTTP 请求,但至少不违反任何 MVC 原则(我不认为!)。想法?
谢谢
【问题讨论】:
标签: asp.net asp.net-mvc