Я переносил приложение веб-форм .NET 2.0 для использования .NET 3.5 и новой инфраструктуры.Внутри UpdatePanel есть GridView со столбцом Actions, который содержит значки для выполнения действия для этой строки.Проблема, с которой я столкнулся в IE 6, заключается в том, что изображения не кэшируются.Это особенно заметно в столбце «Действия», поскольку для загрузки доступно 9 значков x 100 строк = 900 значков.Internet Explorer отсчитывает эти изображения с 900 до их полной загрузки.
Эта проблема, по-видимому, не ограничивается изображениями внутри GridView, который находится внутри UpdatePanel, потому что я вижу, что изображения заголовков перезагружаются каждый раз тамтакое обновление страницы.
Я провел исследование:
- У кого-нибудь есть идеи по решению проблемы "n элементов осталось" в Internet Explorer? - этоЭто другая проблема.
- Уважаемый IE6: Пожалуйста, кэшируйте мои изображения. - Я действительно думал, что это решит все проблемы, но нет.Я попытался установить изображение в качестве фонового изображения внутри div, но безуспешно.Я также попытался поместить все значки в пользовательский элемент управления, в том числе и до загрузки GridView.
- У меня есть старая инфраструктура (где этой проблемы не было) для сравнения конфигураций IIS, и они абсолютно одинаковы.
- Используя Fiddler, я могу расстроенно видеть каждое запрашиваемое изображение.Заголовок кэша
Cache-Control: private
.Только что заметил Date: Tue, 29 Mar 2011 07:35:53 GMT
(что час назад) в этом заголовке кэша.Это как-то связано с этим? - Эта проблема с кешированием кажется нерегулярной.Я загружу страницу в первый раз, и никакие изображения не будут кэшированы, поэтому ~ 1000 изображений будут загружены независимо.Я могу обновить страницу, и изображения будут кэшированы.Если я удаляю все временные файлы / автономный контент, то изображения снова будут загружаться независимо.
- Сначала я думал, что это происходит только при развертывании приложения в новой инфраструктуре (запросы выполняются между лесами), но это не так.случается и на моей локальной машине, когда все изображения локальные.
- Это проблема только в IE 6 !!!
Пожалуйста, дайте мне знать, если яможет предоставить другую информацию.
ОБНОВЛЕНИЕ 1
Обходные пути, которые уже были предприняты безуспешно:
- Решение обработчика, предложенное @Афшин Гх. ОБНОВЛЕНИЕ 2 Код в ответе действительно работает.Возможно, ранее была предпринята попытка использовать другую версию.
- Решение для скрытых изображений, предложенное @Blue Steel.
ОБНОВЛЕНИЕ 2
Некоторые издругие решения, возможно, работали здесь, но я использовал код, предоставленный @Afshin Gh.