Chrome Zurück button Seite aktualisieren - ASP.net
Habe ich eine ASP.net Anwendung (c#).
Wenn ein Benutzer auf eine bestimmte Seite, Sie klicken auf einen link auf dieser Seite führt Sie zu einer untergeordneten Seite, die Anzeige der Produkt-details.
Wenn der Benutzer auf die zurück-Schaltfläche Ihres Browsers, benötige ich die parent-Seite, um aktualisiert werden, um Ihren ursprünglichen Zustand. ie alle Textfelder, die hatte die Daten eingegeben werden müssen, leer, alle hidden-Felder zurücksetzen, usw. Im Prinzip brauche ich ein STRG-F5 klickt ein Benutzer zurück.
Deaktivieren der Schaltfläche "zurück" ist keine option.
Brauche ich diese nur auf bestimmten Seiten.
Im IE und im Firefox bekomme ich diese zu arbeiten, ohne ein Problem. Aber mit chrome die Textfelder, noch enthalten, deren Werte, wie die versteckten Felder. Wenn ich mit STRG-F5, in Chrome, wird die Seite korrekt in Ihren Ausgangszustand zurückgesetzt.
Dies ist der code, den ich ausprobiert habe.
<%@ OutputCache Location="None" VaryByParam="None" %>
und so:
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetNoStore();
und so:
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Ich habe auch versucht eine Vielzahl von diesen in unterschiedlicher Kombination, aber ohne Erfolg.
Dank
- Die Chrom(s) hast du das probiert mit? Dev? Beta? Stabil? Windows?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die browser-Schaltfläche "zurück" gedrückt wird, wird das EINGABE-Felder werden nicht automatisch zurückgesetzt, indem der browser. Stattdessen wird der browser behält die Eingaben des Benutzers, so dass es einfacher für die Benutzer, um zurück zu gehen und ändern Sie die Eingabe.
Können Sie nicht lösen, das server-Seite, da der browser umgeht den cache für diese. Verwenden Sie stattdessen die
autocomplete="off"
HTML-Attribut auf die input-Felder zu verhindern, dass Sie beibehalten wird, die durch den browser.Können Sie auch manuell zurücksetzen, das Formular mit JavaScript:
autocomplete
- Attribut dieses Problem zu umgehen.autocomplete="off"
funktioniert der trick, aber.Diese beiden Zeilen gelöst das Chrome-problem für mich:
Und ich verwenden Sie diese optionale Linie zu sagen, den browser nicht zu schaffen eine Geschichte Eintrag für jede Anfrage von der gleichen Seite:
Quellen:
Beliebteste Antwort in diesem post
Optionale Zeile
Die 'brute-force' - Lösung wäre etwas javascript auf die Seite, auf Seite Last legt die Daten auf einen bekannten Zustand. So findet es alle Elemente und setzt die Daten basieren auf einer Reihe von Daten-oder json-Objekt. Auf die erste Anfrage, da alles voreingestellt ist egal, die Einstellung keinen Unterschied macht. Auf die Schaltfläche zurück verlangen, da der javascript-noch ausgeführt werden, es setzt alle Werte, unabhängig von browser.
Ich glaube nicht, Sie zwingen kann, einen browser, um die Funktion in der Weise, die Sie beschreiben, obwohl, wie es auf jedem browser, wie Sie das umsetzen wollen, eine Schaltfläche "zurück" - chrome macht es einfach anders.
Können Sie auch die autocomplete="off" auf dem Formular-tag statt jedem input-Feld.