我在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;