Вопрос

У меня есть страница, содержащая пользовательский элемент управления, который представляет собой просто персонализированный выпадающий список .Я присваиваю каждому элементу атрибут onClick=__doPostBack('actrl',0).

когда я нажимаю на страницу, обратная отправка происходит нормально, и я получаю ожидаемые результаты.Однако в IE6 моя страница не изменяется на новые значения, загруженные с сервера.

Самое странное, что когда я нажимаю shift + на ссылку, страница перезагружается нормально со всеми изменениями.

Я пытался отключить кэширование на странице, но безуспешно.

используя весь этот код

Response.CacheControl = "no-cache"
Response.AddHeader("Pragma", "no-cache")
Response.Expires = -1
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Page.Response.Cache.SetExpires(DateTime.Now.AddDays(-30))
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache)
Page.Response.Cache.SetNoServerCaching()
Page.Response.Cache.SetNoStore()
Response.Cache.SetNoStore()

Также, когда я отлаживаю приложение, я вижу, что сгенерированный html-код для рендеринга правильный, но он не рендерится.

Эта проблема возникает только в IE6.

Это было полезно?

Решение

Это известная ошибка IE6 (# 223) с волшебными запросами HTTP get.

Смотрите ошибку здесь:http://webbugtrack.blogspot.com/2007/09/bug-223-magical-http-get-requests-in.html

Это происходит, когда встроенный обработчик событий вызывает изменение страницы в IE6.

Другие советы

Проблема в том, что IE6 не перезагружает страницу с сервера (она просто захватывает кэшированную копию), однако в сообщении формы IE6 ДОЛЖЕН перезагрузиться.Почему вы добавляете _doPostBack в качестве атрибута, они должны быть автоматически сгенерированы в любом элементе управления asp.net, который необходимо отправить обратно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top