删除X-Frame-Options iframe

时间:2017-01-27 14:29:59

标签: asp.net iframe x-frame-options

我需要在经典的asp页面中显示一个控制器作为iframe。

<iframe src="http://localhost:55329/member/fund/?guid=<%=guid%>" width="100%" height="100%" border="0"></iframe>

我可以显示索引页面,但是在尝试创建或编辑产品时,该页面会抛出以下错误:

  

在一个框架中,因为它将'X-Frame-Options'设置为'SAMEORIGIN

要解决此问题,我尝试删除X-Frame-Options并在Base控制器级别重新添加:

 protected override void OnActionExecuted(ActionExecutedContext filterContext)
 {
     Response.Headers.Remove("X-Frame-Options");
     Response.Headers.Add("X-Frame-Options", "ALLOWALL");
     base.OnActionExecuted(filterContext);
}

相反,它增加了两个X-Frame-Option,这不能解决问题。

我已经看过并测试过此修复程序,可以解决问题。但是,我不想在全局设置中进行更改。 This fix was referred in previous questions

有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我在Result Executed:

上覆盖了它
protected override void OnResultExecuted(ResultExecutedContext filterContext)
{
    filterContext.HttpContext.Response.Headers.Remove("X-Frame-Options");
    filterContext.HttpContext.Response.Headers.Add("X-Frame-Options", "ALLOWALL");
    base.OnResultExecuted(filterContext);
}

希望这有帮助