我有一个ASP.Net MVC页面,上面有一个非常简单的表单:一个文本框和一个提交按钮。表单使用标准的mvc BeginForm()
语法:
<% using (Html.BeginForm()) { %>
直接打开页面时,一切正常。
但是,我们有另一个网站(非MVC)在iFrame中加载此页面。除了IE7(和IE6)之外,大多数浏览器似乎都能很好地处理这种情况。从IE7进入iFrame时提交表单会导致表单在新窗口中发布。
我有什么办法可以阻止新窗口打开,所以表单会在iFrame中发布吗?我更喜欢ASP.Net MVC特有的东西,但我理解它是否必须是Javascript / JQuery解决方案。
编辑:
我应该注意,带有iFrame的父页面实际上是使用Microsoft CRM 4.0
答案 0 :(得分:4)
原来这是一个已启用的CRM安全设置。
CRM中的IFRAME具有“限制跨框架脚本”的安全属性。似乎默认情况下它已打开。当它打开时,无论你写什么HTML,任何链接和表单帖子都会在新窗口中打开。
如果关闭此设置,则任何链接和表单帖子都将重用IFRAME。