我有一个包含3个菜单的asp.Net页面。 3个点中的每一个指向子菜单,一旦从主菜单中选择子菜单,子菜单就变为可见。我将项目从默认子菜单(3中的第一个)移动到不同的子菜单。虽然菜单项在呈现页面时显示在其新位置(并且其代码隐藏工作正常),但该选项仍保留在默认子菜单上的旧位置。我们正在使用IIS 7。
重新启动没有帮助。如果我错了,请纠正我,但我认为该页面正在缓存,我需要清除此缓存。
我该怎么做呢?这里发生了什么?
感谢您的帮助和耐心。
答案 0 :(得分:-2)
尝试以下代码:
For Each de As DictionaryEntry In HttpContext.Current.Cache
HttpContext.Current.Cache.Remove(DirectCast(de.Key, String))
Next
如果这不起作用,
IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
HttpContext.Current.Cache.Remove(enumerator.Key);
}
请注意,对于具有OutputCache类型的页面,此技术效率不高。要清除此类型的缓存内存,您应该使用下面的代码行。
HttpRuntime.Close();