Mam problem z prostą aplikacją ASP.NET i przyciskiem Wstecz po wysłaniu z powrotem.Przeglądarka ASP.NET pokazuje "strona internetowa wygasła" dla przycisku wstecz (po przesłaniu)
Strona, której dotyczy pytanie, zawiera prosty formularz, niektóre pola tekstowe itp. Oraz menu rozwijane z funkcją odświeżania wstecznego (autoprotbacku).
"Normalny" przepływ to użytkownik wypełniający formularz i może zmienić listę rozwijaną. Na podstawie wartości rozwijanej zawartość strony może się zmienić.
Problem polegający na tym, że po zmianie przez użytkownika listy rozwijanej i zakończeniu odświeżenia strony użytkownik kliknie przycisk Wstecz. Widzą komunikat "Strona wygasła" z IE.
mam ustawić:
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.Private);
Ale to nie wydaje się być przybity problem.
Rzeczywista nagłówka odpowiedzi Cache-Control brzmi: prywatnym, no-cache: "Set-Cookie"
W klasycznych aplikacji ASP na z nagłówka odpowiedzi Cache-Control zaledwie "prywatnej" przycisku Wstecz zachowuje się zgodnie z oczekiwaniami po "odesłaniu".
Czy mimo to należy wymusić na programie ASP.NET ustawienie kontroli pamięci podręcznej na dokładnie "prywatne"? Lub inne rozwiązanie, które powoduje, że przycisk wstecz i postbacks działają dobrze razem?
Dzięki!
nie ma sensu do mnie, że to klasyczna aplikacja ASP, który wyznacza wygaśnięcie -1 minutę, cache-control prywatny pozwala tył Przycisk działa "zgodnie z oczekiwaniami", ale aplikacja ASP.NET z wygasaniem ustawionym na -1 minuta i ustawieniem kontroli pamięci podręcznej na "prywatny, bez pamięci podręcznej: ustaw plik cookie" nie działa. Wydaje mi się, że jest to problem "no-cache: set cookie". – user505765
Rozumiem. Różnica polega na tym, że klasyczna ASP nie ma post-backs do walki. Kliknięcie przycisku uruchamia "Akcja" formularza, a za każdym razem jest to całkiem nowa strona. W ASP.NET, jeśli zmienisz listę rozwijaną, a ta lista rozwijana ma "autopostback" ustawiona na wartość true, przeglądarka faktycznie widzi to jako nawigację do nowej strony. Wszystko zależy od tego, w jaki sposób realizowane są postbacks, które są stałym źródłem irtritacji w takich przypadkach. Techniczna zmiana zestawu rozwijanego dla autompostbacku powoduje wyzwolenie opcji "post" w formularzu, ale paradygmat WebForms rozmywa go ... – David
Może to lepsze wyjaśnienie - do przeglądarki każde odświeżenie jest w rzeczywistości nową wizytówką strony, a jest przechowywany w historii, mimo że paradygmat WebForms próbował sprawić wrażenie, że nie jest to programistą. – David