Errore con AJAX e Internet Explorer 10

mercoledì 08 maggio 2013 - 22.20
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows Server 2008 R2

voyager18 Profilo | Junior Member

Ciao a tutti! Ho una semplicissima form con una textbox e un imagebutton
<form id="form1" runat="server"> <asp:ScriptManager ID="SM" runat="server" /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:TextBox ID="TextBox1" runat="server" Text="1" /> <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" /> </ContentTemplate> </asp:UpdatePanel> </form>
Premesso che questo codice gira su IIS 7.5, se apro questa pagina con IE 10 e clicco sull'image button, viene generata un'eccezione "Formato della stringa di input non corretto". Il page load del postback neanche viene eseguito perchè l'eccezione viene generata prima. Se invece tolgo l'update panel dal form allora tutto funziona. Lo stesso identico codice se lo eseguo invece su IIS 8 e lo apro con IE 10 funziona.
Nessun problema invece si ha con altri browser o con versioni precedenti di IE, dalla 9 in giù.
Cosa può essere?

andrestu Profilo | Expert

ciao,
ho riscontrato anche io lo stesso problema, se cerchi in rete è un problema noto, per il momento ho risolto forzando la pagina a funzionare in modalità IE9 però vorrei risolvere in modo da far funzionare tutto correttamente anche in modalità IE10, se trovi la soluzione fammi sapere...

Andrea Restucci - Web Developer

voyager18 Profilo | Junior Member

Ho risolto aggiungendo questo pezzo al web.config

<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=9" />
</customHeaders>
</httpProtocol>
</system.webServer>

andrestu Profilo | Expert

e si infatti così viene "forzato" il client a leggere la pagina chiamata in modalità IE9 anche se viene aperta con IE10

Andrea Restucci - Web Developer

voyager18 Profilo | Junior Member

Si perchè a quanto ho capito quei geni della microsoft non avevano previsto che la versione IE arrivasse arrivasse a due cifre, quindi il javascript che viene generato dal server interpreta la versione 10 di IE come verisone 1 e quindi non funziona più. Ho anche eseguito tutti gli aggiornamenti sul server ma non funziona lo stesso senza quella direttiva nel web.config. Speriamo in aggiornamenti futuri

andrestu Profilo | Expert

se vuoi puoi farlo solo per le pagine che creano problemi, togli la direttiva e inserisci questo sotto l'head

<meta http-equiv="x-ua-compatible" content="IE=9" />

anche se non ha molto senso creare un sito con alcune pagine che funzionano in una modalità e altre in un altra

Andrea Restucci - Web Developer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5