我正在解决IE8正在渲染缓存数据的实例。 FF& Chrome没有跟上问题。
页面流程如下所示...提交下拉列表框选择,服务器端根据选择回写几个字段。然后发生其他事情。这是一个多步结账流程 - 第一步建立基础......第二步建立可选功能,第三步提交最终结果。
所有这些步骤都发生在单个.aspx页面中 - jQuery根据当前步骤“显示/隐藏”不同的容器。寻找服务器端和/或ajax位的故障是很诱人的,除了FF& Chrome完美运行。
当IE用户第二次通过该结帐流程时,数据将从原始结帐中保留。 (再次......对于FF和Chrome来说很好)。
未获得更新的数据是在服务器端生成的:
<div>
Registering users for: <b>
<%=Model.Webinar.Title %></b><br />
<%=Model.Webinar.Presenter.FullName %><br />
<b>
<%=Html.DisplayDate(Model.Webinar.Date)%></b> - <i>
<%=Html.DisplayTime(Model.Webinar.Date, timeZ, false)%>
-
<%=Html.DisplayTime(Model.Webinar.Date, Model.Webinar.Duration, timeZ)%><br />
</i>
</div>
这不是表单数据...... IE真的非常奇怪,IE可以如此强大地缓存它。我已经尝试添加一个getDate()隐藏字段,并且已经看到_some效果但不一致,防弹结果。
我已经看过很多关于引用IE和AJAX数据的讨论,但这不应该在这里发挥作用。是否还有其他元代码可供使用?
答案 0 :(得分:2)
我会设置适当的HTTP标头以防止主页面和AJAX响应中的缓存。尝试:
Cache-Control: no-cache
Pragma: no-cache
此外,如果这些是陈旧的表单字段,则可能是IE的自动完成导致问题。尝试添加autocomplete =“off”以形成字段。