2011-12-14 56 views
0

我正在使用ASP.NET和VB.NET。按「後退」按鈕時某些用戶控件不加載

我有一個包含5個用戶控件的頁面。 頁面本身什麼都不做,它只是向用戶呈現用戶控件。

當我進入頁面或刷新頁面時,用戶控件工作正常,但當我轉到另一頁面時,按'返回',只有兩個用戶控件出現,並且它們不起作用他們應該!控件

簡短說明:這一下如果用戶創建的東西,是一個option這樣做

  • 2控制。 (轉到DB)如果需要的話(去到DB)
  • 1控制看起來如果用戶是管理員
  • 2控制顯示的概述(不下去的數據庫,但看起來在SecurityContext中)

那麼什麼情況是:

第3個控制顯示不出來 1中控制顯示他的默認狀態(儘管依賴於用戶不應該) 管理員控制始終顯示在管理環節,即使用戶不是管理員

我試過尋找緩存(禁用,啓用),我試過欺騙viewstate,我試過使用佔位符,page_init,..

雖然似乎沒有工作,但我想這實際上工作,因爲我非常確定用戶會做很多事情。當我刷新一切後應該再次運行,因爲服務器會再次聯繫..

我該怎麼辦? :/

一些代碼:

<pm:MenuA ID="MenuA" runat="server" /> 
<pmm:MultiStepMenuA ID="MultiStepMenuA" runat="server" /> 
<rm:MenuB ID="MenuB" runat="server" /> 
<mm:MenuC ID="MenuC" runat="server" /> 
<br /> 
<am:AdminMenu ID="AdminMenu" runat="server" /> 

重要更新:我沒有這個問題與Firefox,IE9只:/

回答

1

怒其不爭的Internet Explorer ..

顯然它繼續使用我的網站的舊版本「以提高速度」。我刪除了我的歷史記錄,並取消選中「保留最喜歡的網站數據」。

之後,它的工作。較舊的頁面不見了,它被更新的版本所取代。

無論如何,我希望這可以幫助別人!

0

這個問題最簡單的解決方法是在頁面的頂部,以防止IE或IIS從緩存該頁面中添加以下指令:

<%@ OutputCache location="None" %> 

您可以通過添加全局應用此設置的所有頁面以下內容添加到網站的system.web部分。config:

<caching> 
    <outputCache enableOutputCache="false" enableFragmentCache="false" omitVaryStar="true" /> 
    </caching>