我有一个包含用户控件的页面,该控件只是一个个性化的下拉列表。我为每个项目分配了属性 onClick = __ doPostBack('actrl',0)

当我点击页面回传很好,我得到了预期的结果。但是在IE6中,我的页面不会更改为从服务器加载的新值。

奇怪的是,当我转移+点击链接页面重新加载所有更改都很好。

我尝试在页面上禁用缓存,但没有运气。

使用所有这些代码

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 /错误-223魔法-HTTP-GET-请求-in.html

当内联事件处理程序在IE6中导致页面更改时,会发生这种情况。

其他提示

问题是IE6没有从服务器重新加载页面(它只是抓取缓存的副本),但是在IE6的表单上应该重新加载。为什么要添加_doPostBack作为属性,应该在任何需要回发的asp.net控件上自动生成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top