从 IFrame 重定向后将 MVC 视图加载到帧外



我在MVC视图中有一个IFrame ASP.Net 为:

 <div class="embed-responsive embed-responsive-16by9">
     <iframe class="embed-responsive-item" src="@TempData["ThirdPartyUrl"]"></iframe>
 </div>

加载到我的 IFrame 中的第三方网站在 IFrame 中执行所需的操作后会回调操作方法。下面是我的控制器中被回调的操作方法:

    public IActionResult DSReturn(string @event, string Id)
    {
        ViewData["results"] = $"Event: {@event}. ID: {Id}";
        return View();
    }

问题是当我从上面的操作方法返回视图时,它会再次将其加载到 IFrame 中。我不想这样。我希望它像普通视图一样呈现,而不是在 IFrame 中呈现。我怎样才能做到这一点?

您可以使用客户端脚本将用户重定向到另一个位置。操作完成后,可以尝试下面的代码示例:

ContentResult result = new ContentResult();
result.Content= string.Format("<script >window.parent.location.href = '{0}';</script>", "YourURL");
result.ContentType = "text/html";
return result;

最新更新