Okazało się, jest to problem ze starszą wersją MicrosoftAjax.js (tą, która jest instalowana z Asp.Net MVC 2).
Otwórz plik MicrosoftAjax.debug.js i sprawdź numer wersji pliku. Góra tego pliku będzie wyglądać tak, jeśli jest to Twój problem:
// Name: MicrosoftAjax.debug.js
// Assembly: System.Web.Extensions
// Version: 4.0.0.0
// FileVersion: 4.0.20526.0
To wersja zawierająca ten błąd. Najnowsza wersja tego pliku to 4.0.30205.0. Uaktualnij do najnowszej wersji, a problem zniknie. Jak wspomniano w komentarzu Nathan Fox, otrzymałem najnowszą wersję od Microsoft cdn, a dokładniej wersji minified i debug.
Dla ciekawskich, wyśledziłem problem w pliku javascript.
Wersja buggy obejmuje:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
window.history.go(0);
}
Który został skorygowany do następujących w nowszej wersji:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
(Sys.Browser.version < 3.5) ?
window.history.go(0) :
location.hash = this.get_stateString();
}
Wow. Dzięki za to. Miałem ten problem kilka dni temu i nie spodziewałem się, że javascript będzie problemem ... przez szczęśliwy przypadek znalazłem to pytanie i woot, teraz jest naprawione. – smdrager
Dzięki za zrozumienie tego, zaoszczędziłem mnóstwo czasu! –
Możesz znaleźć linki do najnowszych plików .js na stronie MS CDN pod adresem http://www.asp.net/ajaxlibrary/CDNAjax4.ashx. –