2015-05-07 3 views
3

Я занимаюсь разработкой веб-приложений в ASP.NET и на некоторых страницах я хочу, чтобы предотвратить их от кэширования данных, используя следующий код:Как предотвратить кеширование в Internet Explorer?

protected override void OnInit(EventArgs e) 
{ 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetNoStore(); 
    Response.Cache.SetExpires(DateTime.MinValue); 

    base.OnInit(e); 
} 

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

Есть ли способ достичь такого же поведения для Internet Explorer?

ответ

1

Вам, вероятно, придется придерживаться другого подхода. Попробуйте создать окно подтверждения пользовательского поймать/отменить действие обновления:

http://devzone.co.in/show-confirmation-box-page-refresh-page-unload-using-javascript/

Execute function before refresh (хотя это решение имеет комментарий, который говорит, что он не работает на FireFox).

+0

Хороший подход. К сожалению, я не мог заставить его работать, но я буду продолжать пытаться. Или, может быть, мне просто нужно сказать всем, чтобы не использовать fu ##### IE;) – Bautzi89