2013-01-04 76 views
0

有可能是我失蹤的地方的設置,但我對這個問題徹底傻眼了。我有一個動態數據網站,它使用基於角色的權限來限制特定用戶可以查看,編輯和刪除的內容。當用戶首次登錄並被重定向到默認頁面時,它將顯示該用戶角色的所有正確表格。點擊任何可用表格後,點擊瀏覽器後退按鈕,無論用戶角色指定什麼,默認頁面都會在數據庫中每表顯示。我感到目瞪口呆,因爲在任何時候,任何用戶角色都無法看到每個表格的視圖,但它卻以某種方式設法緩存了這個假想版本的頁面。我知道這肯定是緩存問題,因爲點擊後退箭頭時,默認頁面上的page_load不會被觸發。如果我刷新默認頁面,它將再次正確顯示。IE9調試不當

我有一個母版頁的工作,並明確地關閉緩存的所有形式,我可以在其網頁加載想到的。其他

HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false); 
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
HttpContext.Current.Response.Cache.SetNoStore(); 
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1)); 
Response.Cache.SetValidUntilExpires(true); 

有一點需要注意的是,這似乎只是當我測試的網站在FF,Chrome或Safari工作的事情如預期與IE9的問題。根據該值。如果

回答

0

你必須保存在誰會話變量登錄用戶的角色,然後顯示所需要的數據(表或其他)的數據是基於顯示在用戶的會話中的角色,然後我不認爲你會有任何問題。您也可以通過在頁面加載功能中提供Response.Cache.SetNoStore();來禁用緩存。