Определение того, как обновлялся IE - PullRequest
1 голос
/ 23 августа 2011

Приложение c #, которое у нас есть, работает по-другому, когда браузер (IE) обновляется с помощью F5 или щелкая URL-адрес и нажимая Enter. Есть ли способ определить, как страница была обновлена?

Ответы [ 3 ]

0 голосов
/ 23 августа 2011

Вы можете использовать реферер, чтобы увидеть, ссылается ли страница на какую-то другую страницу или открывается по broswer

0 голосов
/ 23 августа 2011

Я не верю, что есть прямой и простой способ проверить это. Основное различие между нажатием «go» и нажатием F5 заключается в том, что «go» всегда будет выполнять HTTP GET, а F5 будет повторять последний HTTP-запрос, который мог быть HTTP GET или HTTP POST.

Это может проявиться следующим образом - может показаться, что кнопка нажимается дважды (потому что вы нажали ее, а затем нажали F5 после перезагрузки страницы).

Сказав все это, рассмотрим:

  • Если у вас возникла проблема с поведением, основанным на «go» и «F5», вы почти наверняка делаете что-то неправильное или «незаконное» в приложении.
  • Попытка интерпретировать точные детали того, что пользователь сделал в своем браузере, является неправильным подходом; HTTP-протокол описывает, как браузер взаимодействует с вашим сервером, пытаясь выяснить, что скрывается за этим черным ящиком. Вам необходимо спроектировать ваше приложение так, чтобы оно «хорошо себя чувствовало» для распространенных сценариев HTTP, таких как этот.
0 голосов
/ 23 августа 2011

если вы находитесь в веб-формах ASP.NET, проверьте член IsPostBack в Page_Load, чтобы увидеть, загружаете ли вы страницу в первый раз (ввод URL) или во второй раз или более (F5).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...