当我们在NET2.0网站中使用无刷新技术的时候,最怕缓存了,时常让客户端不能显示最新的数据。
一般情况下,WEB页面都会在Internet临时文件夹中有一个临时文件。
假如您有一个页面New.aspx,在客户端第一次访问后,它会在Internet临时文件夹里有一个New.aspx,文件生成.之后,如果修改了New.aspx的数据后再次访问该页面,发现IE并没有对这个New.aspx的数据进行更新,反而打开的是第一次访问的页面!
为什么会这样,是因为IE自动(默认)调用了Internet临时文件夹里有一个New.aspx文件,而不是重新下载新的New.aspx,怎样能让IE自动重新下载新的New.aspx呢,就像点了刷新按钮重新加载此页面一样?
解决的第一种方法:
客户端的设置方法:Internet选项→常规→Internet临时文件中"设置"→每次访问此页时检查。
这种设置时最好同时删除临时文件,这种方法是让客户自己设置自己的浏览器,如果客户忘记了设置,那么,新的页面总是下载不到本地.这时,客户会怎样认为呢?("肯定是程序的错!")
此外,别人访问您的页面,客户端的浏览器由他们来操作,一般,这种方法不宜解决此类问题。
解决的第二种方法:
让程序自己来让页面自动下载!
这种方法实际上是让页面不保存到Internet临时文件夹中,每次访问页面都会让浏览器下载页面。
只要在New.aspx代码的Page_Load事件中加上
Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);即可.
不防你试试.在不加这句时,你打开页面,Internet临时文件夹里会有一个页面文件,而加了,就会没有了。不过,像aspx文件中如果有图片文件或js文件,那还是会下载到Internet临时文件夹的。