2010-12-21 14 views
2

Ich habe eine asp.net-Seite, die dynamisch gefüllt DropDownLists und OnSelectedIndexChanged Ereignisse verwendet. Vor ein paar Tagen habe ich einen Defekt gefunden, bei dem das Drücken der Zurück-Taste die vorherige Seite aus dem Cache des Browsers geladen hätte, so dass die DropDownList bereits einen ausgewählten Index hätte (daher würde das OnSelectedIndexChanged-Ereignis nicht richtig ausgelöst, da es nicht den Standard ausgewählt hatte Index). Ich verstand das Problem und googelte herum. Es ist ein bekanntes Problem, das aufgrund der Interaktion des Browsers mit der Seite keine einfache Lösung bietet. Nach einem wenig Gedanken, ging ich mit einer trivialen Javascript-Lösung die DDLS zurück:Internet Explorer zurück Schaltfläche und JavaScript

 var gvTable = document.getElementById("foo"); 
     if (gvTable != null) 
     { 
      var actionDDls = gvTable.getElementsByTagName("select"); 
      for (var i in actionDDls) { 
       actionDDls[i].value = 0; 
      } 
     } 

Das gut gearbeitet und ich war glücklich. Bis ich es in IE getestet habe. In IE scheint es, das Skript auszuführen, DANN laden Sie die zwischengespeicherten Werte der DDL. Das heißt, ich beobachte, wie die DDL auf den Index 0 zurückschnellt und dann plötzlich auf den zuvor ausgewählten Wert abfällt.

Ich bin hier irgendwie ratlos, ich debugge normalerweise in Firebug, aber das funktioniert perfekt in Firefox und Chrome. Irgendwelche Vorschläge? Gedanken?

Vielen Dank.

Antwort

1

Haben Sie sich in .NET 3.5 die Funktion für Verlaufspunkte angesehen? http://www.pin5i.com/showtopic-16198.html. Dies kann das aktuelle Problem durch eine benutzerdefinierte Statusverwaltungsfunktion unterstützen.

HTH.

+0

Das ist eine Menge zu verdauen, aber wenn das Leben so ist, geht es manchmal so. Danke für den Link! – Dio

Verwandte Themen