IE6 postback em asp.net
-
03-07-2019 - |
Pergunta
Eu tenho uma página que contém um controle de usuário que é apenas uma lista suspensa personalizada. Atribuir a cada item da onClick=__doPostBack('actrl',0)
atributo.
quando clico a multa página de postagem e eu tenho os resultados esperados. No entanto, em IE6 minha página não muda para os novos valores carregados a partir do servidor.
O estranho é que quando eu shift + clique no link a recarga fina página com todas as alterações.
Eu tentei desabilitar o cache na página, mas sem sorte.
usando todo este código
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()
Além disso, quando eu depurar o aplicativo eu posso ver que o HTML gerado a serem prestados é correto, mas não é processado.
Este problema só acontece no IE6.
Solução
Este é um bug IE6 conhecido (# 223) com mágica solicitações HTTP GET.
Veja o bug aqui: http: //webbugtrack.blogspot. com / 2007/09 / bug-223-mágico-http-get-solicitações de-in.html
Ela acontece quando um manipulador de eventos em linha provoca uma mudança de página no IE6.
Outras dicas
O problema é que o IE6 não é recarregar a página do servidor (é só pegar a cópia em cache), porém em uma forma pós IE6 deve recarregar. Por que você está adicionando a _doPostBack como um atributo, aqueles devem ser gerada automaticamente em qualquer controle asp.net que precisa enviar de volta.