Как сделать так, чтобы данные формы не исчезали после нажатия кнопки «Обновить»?

Я пошел проверить свою страницу в другом браузере. В Google Chrome я могу заполнить форму, нажать назад и вперед, и все еще иметь данные. Теперь мне нужно обновить страницу, чтобы некоторые данные были правильными (например, идентификатор сеанса, если срок действия файла cookie истек или пользователь выходит из системы перед отправкой). Я обновляю и теряю все данные. Есть ли какая-то опция, которую я могу установить, чтобы все данные сохранялись?


person Community    schedule 11.03.2010    source источник


Ответы (3)


Какой фреймворк вы используете? Например, ASP.Net WebForms будет обрабатывать это через ViewState (фу), ASP.Net MVC потребует от вас сделать это вручную и т. д.

По сути, вам нужно где-то сохранить свои данные, пока страница перезагружается, а затем повторно заполнить элементы управления.

person Jamie    schedule 11.03.2010

Вам придется отправлять значения на сервер, пока они вводятся, а затем повторно заполнять поля формы при обновлении.

person Lars Mæhlum    schedule 11.03.2010

Да, единственный безопасный способ сделать это — использовать скрипт на стороне сервера для временного хранения формы. Поскольку браузеры по-разному обрабатывают переход назад/вперед, ваша страница не будет совместима с x-браузером, если вы не используете сервер. Если пользователь нажимает кнопку «Назад», вы уже как бы потеряны, поскольку публикация не выполняется, если только вы не опубликуете форму с некоторой магией javascript до обновления новой страницы.

person Vidar Vestnes    schedule 11.03.2010