2

J'ai une page ASP.Net MVC avec une forme très simple: une zone de texte et un bouton de soumission. Le formulaire utilise la norme mvc BeginForm() syntaxe:IE7 et l'affichage d'un formulaire dans un iframe dans MS CRM = nouvelle fenêtre

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

Lorsque la page est ouverte directement, tout fonctionne très bien.

Cependant, nous avons un autre site web (non MVC) qui charge cette page dans un iFrame. La plupart des navigateurs semblent bien gérer cette situation, sauf pour IE7 (et IE6). Soumettre le formulaire quand il est dans un iFrame à partir de IE7 provoque le formulaire à être publié dans une nouvelle fenêtre.

Y a-t-il quelque chose que je puisse faire pour empêcher la nouvelle fenêtre de s'ouvrir, de sorte que le formulaire est affiché dans l'iFrame? Je préférerais quelque chose qui est spécifique à ASP.Net MVC, mais je comprends s'il doit s'agir d'une solution Javascript/JQuery.

Edit:

Je dois souligner que la page parent avec le iFrame utilise réellement Microsoft CRM 4.0

Répondre

4

Transforme c'est un paramètre de sécurité CRM qui a été activé. Un IFRAME dans CRM a une propriété de sécurité pour "Restreindre les scripts inter-trames". Il semble que par défaut, il est activé. Quand il est activé, les liens et les messages de formulaire s'ouvrent toujours dans une nouvelle fenêtre, quel que soit le code html que vous écrivez.

Si ce paramètre est désactivé, les liens et les messages de formulaire réutiliseront l'IFRAME.