我在ASP.NET MVC視圖上有Wijmo Tree。每個treenode的checkstate保存在我的數據庫中。加載樹時,根據返回的數據檢查或取消選中每個節點。當調用樹上的nodeCheckChanged時,我使用ajax在我的控制器上調用一個成功更改數據的操作。IE緩存從服務器返回的舊數據
問題出現在我重新加載treeview的時候。數據已保存在數據庫中,但瀏覽器無法從服務器獲取最新數據。
我只在IE所有版本中遇到問題。 Firefox和Chrome每次都在運行。
我已經看過來自DotNetPerls的this,來自微軟的this這樣的頁面,並嘗試使用this stackoverflow答案的選項四。
我發現在IE中獲得最新數據的唯一方法是將選項設置爲true開發人員工具 - >緩存 - >始終從服務器刷新。
我該怎麼做才能讓IE像其他瀏覽器一樣重新加載我的數據?
感謝大家花時間閱讀這個問題!
編輯
我的樹中的數據來自於我的模型的集合。這個集合由一個動作填充。
我的行動:
public ActionResult List(AssignedFolderListModel model)
{
//Using EntityFramework
model.TopLevelFolders = db.Folders;
return PartialView(model);
}
我的模型:
public class AssignedFolderListModel
{
public string UserId { get; set; }
public IEnumerable<Folder> TopLevelFolders { get; set; }
public Guid[] AssignedFolderIds { get; set; }
}
回答
我需要添加 「緩存:假」 到我的$就調用。每次調用$ .ajax調用的URL都是相同的。例如。 「AssignedFolder /列表?用戶ID = 12345」。 IE並沒有再次打電話,而是返回一個緩存的結果。
現在IE每次都被迫返回最新的數據。
這確實是我的問題的答案。我以前的評論是錯誤的。我需要爲我的$ .ajax調用添加「cache:false」。每次調用$ .ajax調用的URL都是相同的。例如。 「AssignedFolder /列表?用戶ID = 12345」。 IE並沒有再次打電話,而是返回一個緩存的結果。 – Robert