Обновление страницы Кнопки "Назад" Chrome - ASP.net

У меня есть приложение ASP.net (c#).

Когда пользователь находится на определенной странице, они нажимают на ссылку на этой странице, которая берет их к дочерней странице, отображая сведения о продукте.

Если пользователь нажимает кнопку "Назад" браузера, мне нужна родительская страница, которая будет обновлена к ее начальному состоянию. т.е. все текстовые поля, которые имели данные, ввели потребность быть пробелом, любой скрытый полевой сброс и т.д. В основном мне нужен CTRL-F5, когда пользователь нажимает назад.

Отключение кнопки "Назад" не является опцией.

Мне нужно это только на определенных страницах.

В IE и Firefox я могу получить эту работу без проблемы. Но с хромом текстовые поля все еще содержат свои значения также, как и скрытые поля. Если я поразил CTRL-F5 в Chrome, страница правильно сбрасывается к ее начальному состоянию.

Это - код, который я попробовал.

<%@ OutputCache Location="None" VaryByParam="None" %>

и это:

   Response.Buffer = true;
   Response.Cache.SetCacheability(HttpCacheability.NoCache);
   Response.Cache.SetAllowResponseInBrowserHistory(false);
   Response.Cache.SetNoStore();

и это:

    Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
    Response.Cache.SetValidUntilExpires(false);
    Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();

Я также попробовал разнообразие их в другой комбинации, но без успеха.

спасибо

9
задан SetiSeeker 29 April 2010 в 12:48
поделиться

2 ответа

Решением «грубой силы» было бы поместить некоторый javascript на страницу, которая при загрузке страницы устанавливает данные в известное состояние. Таким образом, он находит все элементы и устанавливает данные на основе массива данных или объекта json. При первоначальном запросе, поскольку все равно все равно по умолчанию, настройка не имеет значения. При запросе кнопки «Назад», поскольку JavaScript все еще должен быть запущен, он сбрасывает все значения, независимо от браузера.

Я не верю, что вы можете заставить браузер работать так, как вы описываете, поскольку каждый браузер решает, как реализовать кнопку «Назад» - Chrome просто делает это по-своему.

0
ответ дан 4 December 2019 в 22:27
поделиться

При нажатии кнопки "назад" браузера поля INPUT не сбрасываются автоматически браузером. Вместо этого браузер сохраняет введенные пользователем данные, что облегчает пользователям возврат назад и внесение изменений.

Вы не можете решить эту проблему на стороне сервера, поскольку браузер обходит кэш для этого. Вместо этого вы можете использовать HTML-атрибут autocomplete="off" для полей ввода, чтобы предотвратить их сохранение браузером.

Вы также можете вручную сбросить форму с помощью JavaScript:

document.getElementById("form1").reset();
6
ответ дан 4 December 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: