IE对缓存内容的控制

时间:2010-05-18 15:19:30

标签: internet-explorer caching

我正在解决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数据的讨论,但这不应该在这里发挥作用。是否还有其他元代码可供使用?

1 个答案:

答案 0 :(得分:2)

我会设置适当的HTTP标头以防止主页面和AJAX响应中的缓存。尝试:

Cache-Control: no-cache
Pragma: no-cache

此外,如果这些是陈旧的表单字段,则可能是IE的自动完成导致问题。尝试添加autocomplete =“off”以形成字段。