已更新:找到答案。無法提交我自己的答案7個小時以上...查看評論。停止IE緩存通過jquery模式對話框打開iframe
我打開一個對話框,如下所示:
url = 'edit/MyPage.aspx?appid=3&value=4&' + date.getTime();
$('#modalIFrame').attr('src', url);
$('#modalDiv').dialog('open');
iframe的有幾個字段(複選框,下拉菜單,文本域)的形式。在Chrome中,一切都無懈可擊。在IE中,它永久地和令人討厭地高速緩存非常。即使shift +刷新也無濟於事。所以如果我打開對話框,進行更改,點擊提交,然後刷新頁面所有的數據看起來是正確的。但是,當我點擊編輯按鈕打開對話框時,它就是以前的數據(數據是通過ajax調用WCF服務來拉取的),我甚至等了幾個小時才讓會話過期,沒有運氣。
正如你在上面看到的,我嘗試了一個技巧,我發現這裏欺騙IE認爲這是一個新的頁面。這不起作用。我還添加以下代碼到頁面中的iframe在Page_Load:
Response.Cache.SetCacheability(HttpCacheability.NoCache)
和下面的meta標籤到HTML:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
我完全失去了這裏,任何想法會讚賞。
好了,所以我不能回答我的問題,但是... – 2011-06-14 21:32:48
好吧,我發現這是當時正在在IE緩存WCF服務。對我來說似乎很奇怪,但我給ajax調用添加了一個時間戳,現在它可以工作了! var date = new Date(); data:{「appid」:appid,「serverid」:serverid,「timestamp」:date.getTime()}, – 2011-06-14 21:33:00