2

非常に単純なフォームを持つ ASP.Net MVC ページがあります。1 つのテキスト ボックスと送信ボタンです。フォームは、標準の mvcBeginForm()構文を使用します。

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

ページを直接開くと、すべて正常に動作します。

ただし、このページを iFrame 内にロードする別の Web サイト (非 MVC) があります。IE7 (および IE6) を除いて、ほとんどのブラウザはこの状況をうまく処理しているようです。フォームが IE7 の iFrame にあるときにフォームを送信すると、フォームが新しいウィンドウに投稿されます。

フォームが iFrame 内に投稿されるように、新しいウィンドウが開かないようにすることはできますか? ASP.Net MVC 固有のものを希望しますが、それが Javascript/JQuery ソリューションでなければならないかどうかは理解しています。

編集:

iFrame を含む親ページは、実際には Microsoft CRM 4.0 を使用していることに注意してください。

4

1 に答える 1

4

これは、CRM のセキュリティ設定が有効になっていることがわかりました。

CRM の IFRAME には、「クロス フレーム スクリプトを制限する」ためのセキュリティ プロパティがあります。デフォルトではONになっているようです。オンにすると、作成した html に関係なく、リンクとフォームの投稿は常に新しいウィンドウで開きます。

この設定がオフになっている場合、すべてのリンクとフォームの投稿で IFRAME が再利用されます。

于 2009-07-23T00:04:56.203 に答える