2012-09-16 5 views
9

Próbuję dodać prosty LinkButton do strony ASP.NET 4, ale nie wywołuję postback w IE10. Kod wygląda następująco.LinkButtons w IE10 nie wykonuje delegowania z powrotem

HTML:

<form id="form1" runat="server"> 
<div> 
    <asp:LinkButton ID="LinkButton1" runat="server" 
    OnClick="LinkButton1_Click">LinkButton</asp:LinkButton> 
    <br /> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</div> 
</form>  

C#:

protected void Page_Load(object sender, EventArgs e) { } 

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    Label1.Text = DateTime.Now.ToString(); 
} 

Jak widać, jest to po prostu zwykły strona. Jednak nie mogę uzyskać LinkButton, aby wywołać metodę od aktualizacji do Win8 i IE10. Działa to dobrze w Firefoksie.

Jakieś pomysły, co muszę zrobić?

+0

1) Sprawdź błędy skryptów w IE 10, 2) spróbuj uruchomić jako IE 8 lub 9 (F12 narzędzi programistycznych). –

+0

Nie widzę żadnych błędów skryptu na pasku stanu IE10 i za pośrednictwem narzędzi programistycznych i zmiana przeglądarki na IE7/8/9 nie wpływa na odświeżenie przycisku łącza. Próbowałem również zmienić ciąg agenta użytkownika do IE8/9, aby sprawdzić, czy to pomogło. –

Odpowiedz

3

Masz łatkę, która łata wprowadza zaktualizowane definicje w plikach definicji przeglądarki dla Internet Explorer i Mozilla Firefox. Pliki definicji przeglądarki są zapisywane w następujących folderach, w zależności od zainstalowanej wersji programu Microsoft ramowego le.NET:

Dla wersji 32-bitowej 4.0.NET ramowego

% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ Przeglądarki

Dla wersji 64-bitowych ramowej 4.0.NET

% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ Przeglądarki

Pobierz Łatka tutaj: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2600088&kbln=fr

Link: http://support.microsoft.com/kb/2600088

+0

Dzięki, oddam to. Wygląda na to, że usługa sprawdzania poprawności obrazu jest wyłączona, więc nie mogę pobrać tej poprawki w tej chwili i wygląda na to, że działa tylko na Win7. Używam Win8 RTM –

+0

Z przyjemnością pomogę ci RobM –

+9

Kiedy próbuję uruchomić tę poprawkę, otrzymuję: KB2600088 nie ma zastosowania lub jest blokowany przez inny warunek na twoim komputerze. Więc myślę, że nie jest kompatybilny z Windows 8. –

2

To było ze względu na ustawienia zabezpieczeń w IE10. Z jakiegoś powodu moje lokalne ustawienia intranetu były bardziej rygorystyczne niż publiczne. Nie mogłem więc klikać hiperłączy, ale mogłem kliknąć przyciski, które przesłały formularze.

5

To jest problem z łataniem/aktualizacją serwera. ASP.NET nie wyemitował poprawnego kodu JavaScript do uruchomienia przeglądarki. Nie ma informacji o wersjach IE nowszych niż IE9. po

Zobacz Scott Hanselman w tej sprawie:

ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position

Scott zauważa w tym 2011 stanowisku, że poprawka powinna być dystrybuowane za pośrednictwem usługi Windows Update. Upewnij się, że twój serwer jest aktualny z aktualizacjami usług .NET Framework z Windows Update. Jeśli nie, you can download the patch lub read more details on the Microsoft KB.

Ta poprawka zaktualizuje te pliki .browser, pozwalając ASP.NET na emisję poprawnego znacznika i kodu JavaScript.

%WinDir%\Microsoft.NET\Framework(64?)\v4.0.30319\CONFIG\Browsers\ie.browser

Będzie to zawiera elementy tak:

<!-- Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) --> 
    <browser id="IE10Plus" parentID="IE6Plus"> 
    <identification> 
     <capability name="majorversion" match="\d{2,}" /> 
    </identification> 
    <capabilities> 
     <capability name="jscriptversion" value="6.0" /> 
    </capabilities> 
    </browser> 
+1

Niewielki dodatek, o którym wspomina Scott Hanselman, jest taki, że jeśli z jakiegoś powodu nie masz dostępu do plików systemowych, zawsze możesz dodać zaktualizowane definicje do samej witryny za pomocą WEB_BROWSER asp teczka. Można go znaleźć w sekcji JEDNEJ POPRAWKI – mrd3650

+0

@ mrd3650 masz rację, ale jest to folder "App_Browsers", a nie "web_browser" –

+0

@ Mark Cooper Cheers dla odnotowania – mrd3650

5
+1

Nie podawaj bezpośredniego linku do exe, link do strona wyjaśniająca poprawkę – Piddu

+0

Wyjaśnienie jest dokładnie tematem tego problemu. –

+0

Ale exe można wycofać lub zaktualizować, a linki KB powinny się trzymać. Poza tym może nie chcieć tej konkretnej wersji pliku. –

2

Należy zainstalować .NET Framework 4.5, pracował dla mnie.

+0

tak wielki błąd w Dot Net/IE, że oba produkty nie są ze sobą kompatybilne? co jeśli mój komputer obsługuje tylko 4.0? – Adeem