S'avère, c'est un problème avec une ancienne version de MicrosoftAjax.js (celui qui est installé avec Asp.Net MVC 2).
Ouvrir le MicrosoftAjax.debug.js fichier et vérifiez le numéro de version du fichier. Le haut de ce fichier ressemble à ceci si cela est votre problème:
// Name: MicrosoftAjax.debug.js
// Assembly: System.Web.Extensions
// Version: 4.0.0.0
// FileVersion: 4.0.20526.0
C'est la version qui contient ce bug. La dernière version de fichier de cette écriture est 4.0.30205.0. La mise à niveau vers la dernière version et le problème disparaît. Comme mentionné dans un commentaire de Nathan Fox, j'ai téléchargé la dernière version à partir de la Microsoft cdn et plus particulièrement de la minifiés et de débogage des versions.
Pour les curieux, j'ai tracé le problème dans le fichier javascript.
Le buggy version inclut:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
window.history.go(0);
}
Ce qui a été corrigé à la suite dans la version la plus récente:
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();
}