我正在使用ASP.NET和VB.NET。
我有一个包含5个用户控件的页面。 页面本身不执行任何操作,它只是向用户显示用户控件。
当我进入页面或刷新时,用户控制工作正常,但当我转到另一个页面,然后按“返回”时,只显示我的两个用户控件,并且它们不能像他们一样工作应该!
控件的简短说明:
所以会发生什么:
前三个控件没有显示出来 1控件显示其默认状态(虽然取决于用户不应该) 管理控件始终显示管理员链接,即使用户不是管理员
我已经尝试过查看缓存(禁用,启用),我尝试过欺骗视图状态,我尝试过使用占位符,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:/
答案 0 :(得分:1)
责备互联网资源管理器..
显然它继续使用旧版本的网站“提高速度”。我删除了我的历史记录,并取消选中“保留最喜欢的网站数据”。
之后它起作用了。旧页面消失了,它被更新的版本所取代。
非常感谢,我希望这可以帮助别人!
答案 1 :(得分:0)
此问题的最简单解决方案是在页面顶部添加以下指令,以防止IE或IIS缓存此页面:
<%@ OutputCache location="None" %>
您可以通过将以下内容添加到web.config的system.web部分,将此设置全局应用于所有页面:
<caching>
<outputCache enableOutputCache="false" enableFragmentCache="false" omitVaryStar="true" />
</caching>