【问题标题】:Internet Explorer's back button and javascriptInternet Explorer 的后退按钮和 javascript
【发布时间】:2010-12-21 16:58:32
【问题描述】:

我有一个使用动态填充的 DropDownLists 和 OnSelectedIndexChanged 事件的 asp.net 页面。几天前我发现了一个缺陷,点击后退按钮会从浏览器的缓存中加载上一页,所以 DropDownList 已经有一个选定的索引(因此 OnSelectedIndexChanged 事件不会正确触发,因为它没有选择默认值指数)。我理解了这个问题并四处搜索。这是一个众所周知的问题,由于浏览器与页面的交互方式,它没有简单的解决方案。经过一番思考,我使用了一个简单的 javascript 解决方案来重置 ddls:

        var gvTable = document.getElementById("foo");
        if (gvTable != null)
        {
            var actionDDls = gvTable.getElementsByTagName("select");
            for (var i in actionDDls) {
                actionDDls[i].value = 0;
            }
        }

这很好,我很高兴。直到我在 IE 中测试它。在 IE 中,它似乎运行脚本,然后加载 DDL 的缓存值。也就是说,我观察到 DDL 迅速回到 0 索引,然后突然下降到之前选择的值。

我在这里有点不知所措,我通常在 firebug 中调试,但这在 firefox 和 chrome 中完美运行。有什么建议?想法?

谢谢。

【问题讨论】:

    标签: javascript asp.net internet-explorer


    【解决方案1】:

    您是否碰巧看过 .NET 3.5 中的历史记录点功能? http://www.pin5i.com/showtopic-16198.html。这可能会通过自定义状态管理功能帮助解决当前问题。

    HTH。

    【讨论】:

    • 我的日程安排中有很多要消化的东西,但如果生活就是这样,有时就是这样。感谢您的链接!
    猜你喜欢
    • 2014-02-11
    • 2013-09-13
    • 1970-01-01
    • 2020-05-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多