2

我有一个 ASP.Net MVC 页面,上面有一个非常简单的表单:一个文本框和一个提交按钮。该表单使用标准的 mvcBeginForm()语法:

<% using (Html.BeginForm()) { %>

当页面直接打开时,一切正常。

但是,我们有另一个网站(非 MVC)在 iFrame 中加载此页面。大多数浏览器似乎都可以很好地处理这种情况,除了 IE7(和 IE6)。当表单位于 IE7 的 iFrame 中时提交表单会导致表单在新窗口中发布。

我能做些什么来阻止新窗口打开,所以表单会发布在 iFrame 中?我更喜欢特定于 ASP.Net MVC 的东西,但我知道它是否必须是 Javascript/JQuery 解决方案。

编辑:

我应该注意到带有 iFrame 的父页面实际上使用的是 Microsoft CRM 4.0

4

1 回答 1

4

原来这是启用的 CRM 安全设置。

CRM 中的 IFRAME 具有“限制跨框架脚本”的安全属性。似乎默认情况下这是打开的。当它打开时,任何链接和表单帖子将始终在新窗口中打开,无论您编写什么 html。

如果关闭此设置,则任何链接和表单帖子都将重用 IFRAME。

于 2009-07-23T00:04:56.203 回答