1、每次切换用户,按道理根据用户信息的不同,控件中显示的内容应该是不一样,可是居然没有变化,怎么刷新页面都没变化
2、点其他之前未查看过的页面,导航控件变化了,然后再回到换用户前访问过的页面,导航控件又是上一个用户使用的内容,刷新,再刷新,还是没变化
3、页面不动,过了一阵子再去刷新,咦!现在才发生变化
真是郁闷!!!
根据这些情况,我琢模可能是缓存的问题,可是这个这个“缓存”到底设置在什么地方了呢?结果经过仔细的查找,最终发现原来是在该控件的html代码顶部里有这么一句话在作怪:
<%@ OutputCache Duration="120" VaryByParam="None" %>
于是试着去掉,果然问题马上得到了解决,到网上搜了一下,这句话的意思是:用来启动OutputCache
所谓output cache,是在执行MSIL之后,先将结果写入output cache,然后再将output cache下传到浏览器,而将来如果浏览同一网页,ASP+会先判断该网页是否有output cache存在,如果有,则直接将output cache下传浏览器,不会经过编译.aspx及执行MSIL的过程,故能提升执行效能。
启动outputcache的方法十分简单,只要在.ASPX网页的最前面加上以下标记:
<%@output cache duration="秒数"%>
其中durtion表示output cache保留在系统中的秒数,例如:
<%@output cache duration="10"%>
结果网页的output cache将会保留系统中10秒钟,而凡是在这10秒钟内浏览此一网页,ASP+就会直接将output cache下传给浏览器,省略了编译的过程!
原来如此!!!哈哈,又学到了新东西,以后不会再范这个错误咯,高兴