[英]Internet Explorer's back button and javascript
我有一個使用動態填充的DropDownLists和OnSelectedIndexChanged事件的asp.net頁面。 幾天前,我發現了一個缺陷,即單擊后退按鈕會從瀏覽器的緩存中加載上一頁,因此DropDownList已經具有選定的索引(因此OnSelectedIndexChanged事件不會正確觸發,因為它沒有選擇默認值指數)。 我了解了這個問題,並在Google周圍搜索。 由於瀏覽器如何與頁面交互,這是一個眾所周知的問題,沒有一個簡單的解決方案。 經過一番思考,我采用了一個簡單的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中非常有效。 有什么建議么? 思考?
謝謝。
您是否碰巧看到了.NET 3.5中的歷史記錄功能? http://www.pin5i.com/showtopic-16198.html 。 通過自定義狀態管理功能,這可以幫助解決當前問題。
HTH。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.