2009-07-21 2 views
2

Есть ли способ обнаружить обновление страницы без использования viewstate в web-формах asp.net? Мне было интересно, возможно ли это вообще возможно, поскольку asp.net mvc не использует viewstate, например.Обнаружение страницы обновления без viewstate

Я стараюсь избегать использования viewstate alltogether, чтобы сохранить размер моей страницы небольшим.

+0

Вы хотите сказать "F5" на странице Refresh? Или вы имеете в виду метод HTTP GET на определенной странице? –

+0

Я имел в виду F5 или перезагрузку страницы пользователем – ak3nat0n

ответ

0

Вы можете обнаружить обновление страницы на стороне сервера с помощью IsPostBack. Фактически, любой код, который вы помещаете в Page_Load в свой код, будет запускаться каждый раз, когда страница обновляется. Или я неправильно понял ваш вопрос?

0

Почему вы не можете использовать IsPostback в коде с ViewState на странице? Таким образом, вы можете делать все, что вам нужно, в коде и не беспокоиться о том, что ViewState засоряет размер вашей страницы.

Вы можете отключить ViewState на странице, добавив флаг enableViewState в директиву @Page.

Единственное, что я могу придумать, это иметь кусок кода javascript, который ловит нажатие клавиши F5, но, очевидно, это будет только для обновления F5, а не для обновления кнопки обновления.

Этот сайт показывает, как захватить нажатие клавиши с помощью Javascript:
http://www.go4expert.com/forums/showthread.php?t=2733

1

IsPostBack не собирается работать, потому что его флэш-память F5 или Pager обновляется, а не сообщение из любого события.

0

http protocal не имеет гражданства и после ответа отправляется в тот, который запрашивает, и удаляет все следы его, кроме его сеанса. Способ работы веб-форм состоит в том, что он сериализует состояние вашей страницы и отправляет его клиенту, а затем возвращается на сервер при создании обратной передачи (запрос на отправку формы). Таким образом, вы можете сохранить информацию о своем клиенте в своем сеансе о предыдущей странице, а затем проверить сеанс, если он снова запросит ту же страницу.

Смежные вопросы