Случайные вызовы Page_Load в ASP.NET - PullRequest
0 голосов
/ 15 октября 2008

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

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

Примерно на 60% моих страниц именно так и происходит. Загружает кешированную версию и все хорошо. На остальные 40%, когда я нажимаю кнопку возврата, вызовы page_load заставляют обновить. Для справки, вызов page_load НЕ находится в обратной передаче.

Еще более странно, что это происходит только в IE (6 и 7). В firefox page_load никогда не вызывается.

Я использую ASP.NET Ajax Framework на обоих типах страниц. Кто-нибудь видел что-нибудь подобное раньше?

- Обновление -

После более подробного изучения я обнаружил, что при использовании поиска для перехода от одной страницы к другой приложение ведет себя по-разному для разных страниц. На сломанных страницах page_load вызывается дважды, а поиск вызывается дважды, и в fiddler, который превращается в 2 разных обратных перенаправления, второй из которых не имеет установленного кэша.

На рабочей странице page_load и поиск происходят только один раз и он сразу перенаправляет.

Этот второй Response.Redirect вызывает проблему. Все еще не уверен, почему это происходит, хотя.

Ответы [ 2 ]

1 голос
/ 15 октября 2008

Проверьте, что сервер возвращает для http-заголовка элемента управления кэшем, затем попробуйте установить Response.Cache.SetCacheability () / использовать на страницах директиву output cache cache и посмотреть, говорит ли сервер, что страницы должны быть кэшированы .

0 голосов
/ 15 октября 2008

если вы используете ASP.NET AJAX, почему бы не использовать объект управления сервером истории?

заменяя историю, кнопка «Назад» перейдет на нужную ссылку.

попробуйте

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