2011-11-17 56 views
2

所以我遇到了這個奇怪的問題。當我在本地開發時,我在Firefox和IE中運行我的應用程序,一切正常。從數據庫返回的Internet Explorer緩存數據

當我在集成環境中運行此應用程序時,Firefox不會看到此問題,但IE確實如此。基本上發生了什麼事情,我們讓用戶選擇通過AJAX調用將新行存儲在數據庫表中。通過JQuery調用AJAX調用,由我們的控制器在C#中吸收,然後將一些信息發送到proc並存儲在數據庫表中。一旦發生這種情況,我們都可以驗證這些數據是否已經存儲。

也有功能性,基本上模仿,我們只是儲存在我們的數據,也可以通過一個進程訪問表(select而不是insert/update)的應用程序來查看錶。現在,當我們在插入新行後立即查看這個內容時,Firefox會在Web表中顯示新行,但IE不會 - 即使兩者都在本地工作,只有Firefox在集成中工作 - 這很奇怪。

現在,如果用戶插入新行然後清除他的IE緩存,他可以看到他點擊鏈接時出現的新行。

所以我的問題是:

1)我應該專注於可能在JQuery的一種方式,以清除瀏覽器緩存每次用戶點擊觀看存儲行的聯繫?

2)爲什麼會在IE本地工作,但不在集成服務器上工作?

3)有什麼服務器端我可以在.NET中做的,就像我可以設置控制器方法設置/查看這些行設置IE忽略緩存或什麼的屬性?

謝謝你們。

回答

0

只需使用POST謂詞上被緩存的這些請求。 IE緩存GETs,但POSTs正常。
要實現此目的,請將[HttpPost]屬性添加到您的操作中。

+0

當我嘗試訪問這些操作時,這似乎會返回此錯誤 - 無法找到該資源。 – slandau

+0

如果有幫助,他們會返回'JsonResult'而不是'ActionResult'。 – slandau