2

Ich habe eine ASP.Net MVC-Seite mit einem sehr einfachen Formular darauf: Ein Textfeld und ein Absenden-Taste. Das Formular verwendet die Standard-mvc BeginForm() Syntax:IE7 und ein Formular in einem IFrame in MS CRM = neues Fenster

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

Wenn die Seite direkt geöffnet wird, funktioniert alles einwandfrei.

Wir haben jedoch eine andere Website (nicht MVC), die diese Seite in einem iFrame lädt. Die meisten Browser scheinen mit dieser Situation gut umzugehen, außer für IE7 (und IE6). Übergeben Sie das Formular, wenn es in einem iFrame von IE7 ist, wird das Formular in einem neuen Fenster veröffentlicht.

Gibt es etwas, was ich tun kann, um das neue Fenster zu stoppen, damit das Formular im iFrame angezeigt wird? Ich würde etwas bevorzugen, das ASP.Net MVC spezifisch ist, aber ich verstehe, wenn es eine Javascript/JQuery Lösung sein muss.

Edit:

Ich sollte anmerken, dass die übergeordnete Seite mit dem iFrame tatsächlich mit Microsoft CRM 4.0

Antwort

4

Stellt sich heraus, das ein CRM-Sicherheitseinstellung ist, die aktiviert wurde.

Ein IFRAME in CRM verfügt über eine Sicherheitseigenschaft für "Cross-Frame-Scripting einschränken". Scheint, dass dies standardmäßig aktiviert ist. Wenn es aktiviert ist, werden Links und Formular-Posts immer in einem neuen Fenster geöffnet, unabhängig davon, was für HTML Sie schreiben.

Wenn diese Einstellung deaktiviert ist, werden Links und Formular-Posts den IFRAME wiederverwenden.

Verwandte Themen