doPostback échoue dans IE 11+ Windows 8.1
Je suis vierge de la page dans internet explorer 11 sous Windows 8.1 Preview.Après l'Inspection de la page, je suppose que le code suivant peut être le coupable,puisqu'à la suite de ces la ligne n'est pas encore affichée, fenêtre du débogueur, Donc le code est la rupture après cette ligne.
IE 11
<!-- <form name="aspnetForm" method="post" action="Register" id="aspnetForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTkwNDQ3O
J'ai essayé la même page dans la Version Chrome 29.0.1547.57 m dans Windows 8.1 Preview Il fonctionne très bien et j'en obtenir code suivant.
CHROME
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
-->
source d'informationauteur Chris_vr
Vous devez vous connecter pour publier un commentaire.
Il est probable que vous êtes de trébucher sur un problème avec la détection du navigateur sur IIS. Scott, Hanselman écrit à ce sujet dans le passé avec IE10, et le problème que vous rencontrez ne semblent miroir de sa description.
Un correctif disponible à l'époque, http://support.microsoft.com/kb/2600088a déclaré:
Toutefois, ce correctif ne semble pas s'appliquer à IE11 en raison d'un nouveau format de l'agent utilisateur. Il y a un package NuGet nommé App_Browsers que peut contenir un correctif, mais jusqu'alors, vous devrez écrire votre propre règle.
MSDN Navigateur de Fichier de Définition de Schéma donne des détails sur la façon d'écrire une détection du navigateur de fichier; vous trouverez vos fichiers existants dans C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers.
Selon MSDN Compatibilité des Changements dans IE11 Aperçul'agent utilisateur pour IE11 dans l'Aperçu est:
qui n'est pas reconnue par le standard d'IE regex (d'où le problème que vous avez vu), cependant les éléments suivants doivent travailler au lieu:
Je n'ai pas testé dans un environnement réel, mais cela ne veut analyser la majeure et la mineure de la version correctement, qui sont la clé pour résoudre le problème initial - essayez d'ajouter ce que un autre match dans le fichier
ie.browser
.Noter que une question semblable a été posée récemment sur MSDN - il peut être intéressant de suite et de contribuer.
Nous avons créé une nouvelle "ie11.navigateur de fichiers" dans C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers et maintenant ASP.NET s'il fonctionne correctement. Après la création du fichier, nous courons "aspnet_regbrowsers -je" et de redémarrer IIS.
Nous avons simplement copié les capacités de IE6-9. Nous ne savons pas si cela est exact, mais ASP.NET travaille maintenant avec Explorer 11 en cours d'exécution sur Windows 8.1
Notre ie11.navigateur de fichier ressemble à ceci:
J'ai vécu le même problème et souhaite partager mes découvertes et comment je l'ai à le résoudre.
Directement au problème:
L' .NET framework 4.0 ne reconnaît pas Internet Explorer 11 navigateur correctement. Cela pourrait être verifyied sur un simple site web et une page affichant les informations du navigateur à partir de la demande en appelant le:
Demande.Le navigateur.Navigateur
Demande.Le navigateur.Version
Le résultat sans les patchs qui est:
Mozilla 0.0
Une fois appliqué le correctif mentionné sur le la suite de l'article le navigateur détails:
IE 11.0
Toutefois, cette approche fonctionne correctement sur un site web qui n'a pas coutume .les fichiers du navigateur. J'ai trouvé que si vous avez un seul fichier vide dans le système de app_browsers dossier dans votre site, alors le navigateur et la version de devenir de nouveau mal à savoir Mozilla 0.0 (bien que le patch pour la .NET 4.0 a été déjà installé).
Creuser plus la question, j'ai réussi à contourner ce comportement indésirable en incluant le code fourni dans le post précédent par Sistemas-infoe dans un .navigateur de fichier et le mettre dans le site web du app_browsers dossier.
Je tiens à préciser que le problème se pose uniquement avec .NET 4.0, tandis que avec .NET 4.5 le navigateur et sa version sont détectés correctement.
J'espère que cette aide.
Meilleures Salutations,
Mihail
Le correctif Microsoft '2600088" certainement ne fonctionne PAS, de sorte que vous aurez à prendre la .navigateur de fichiers de l'itinéraire.
Avec la dernière version de IE11, vous aurez besoin de faire une petite révision de l'ie.navigateur de fichier RegEx posté par Sistemas-infoe ci-dessus. Assurer vous permettre plus de caractères dans la chaîne de l'agent utilisateur entre le point-virgule et l'espace. Si votre RegEx compétences sont terribles (comme le mien), c'est une période, puis une étoile.
VIEUX:
NOUVEAU:
Vous pouvez tester si ASP.Net la reconnaissance de la révision et de la .navigateur de fichiers à l'aide de:
Si cela renvoie 11, votre JS erreur devrait avoir disparu. VOILA!
Mise à jour:
Un deuxième patch MS a été publié en octobre 2013. J'ai été en mesure de supprimer l' .navigateur de fichier et simplement utiliser le patch. Donc beaucoup de travail. - Voir http://support.microsoft.com/kb/2836939
Juste pour ajouter une autre option dans le mélange. Ce /.navigateur de fichier semble avoir fonctionné pour moi.
http://blogs.telerik.com/aspnet-ajax/posts/13-12-19/how-to-get-your-asp.net-application-working-in-ie11
J'ai utilisé ci-dessus ie11.navigateur de fichiers mentionnés ci-dessus par Sistemas-infoe, le mettre dans App_Browser dossier et il a fait un travail sur Windows 2003, II6.
Pour le pré-code compilé, assurez-vous que vous supprimez __browserCapabilitiesCompiler.compilé à partir de la corbeille de dossier pour l'obtenir à reconnaître le nouveau fichier.
Ce qui n'a pas de travail était la solution donnée ici http://support.microsoft.com/kb/2836939/en-us
En outre, en mettant ce fichier dans C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers et en l'inscrivant à l'aide de aspnet_regbrowsers.exe -je n'ai pas de travail.
Presque oublié de mentionner. Si cette solution n'a pas travaillé, à côté, j'aurais essayé.
http://jwcooney.com/2013/11/19/asp-net-doesnt-detect-ie11/
J'ai trouvé la meilleure solution était de l'installer .Net 4.5.1 et je n'ai même pas besoin de changer la version de notre application, à l'aide!
Seulement il a été enlevé xhtmlConformance étiquette de site Web.Config.