在做一个多语言的web项目,目前有这样一个bug:
1. 设置你的语言为中文, (这个语言不是OS或者浏览器的语言,就是网页上一个下了列表框,后台根据这个设定线程的文化信息)
2. 访问A页面
3. 访问B页面
4. 更改语言为英语
5. 这时B页面因为有postback,所以显示英语
6. 再访问A页面,因为缓存的原因,这是A页面还是中文。 -- 这就是个bug
这个bug只存在IE上(我试了IE8),在firefox上没有。 我尝试在B页面postback的时候清除cache(如下), 但是没有成功。foreach(DictionaryEnty de in Httpcontext.current.cache)
Httpcontext.current.cache.remove(de.ToString());
高手给点建议吧? 整个网站的cache机制还是要的,不能完全禁止它。
1. 设置你的语言为中文, (这个语言不是OS或者浏览器的语言,就是网页上一个下了列表框,后台根据这个设定线程的文化信息)
2. 访问A页面
3. 访问B页面
4. 更改语言为英语
5. 这时B页面因为有postback,所以显示英语
6. 再访问A页面,因为缓存的原因,这是A页面还是中文。 -- 这就是个bug
这个bug只存在IE上(我试了IE8),在firefox上没有。 我尝试在B页面postback的时候清除cache(如下), 但是没有成功。foreach(DictionaryEnty de in Httpcontext.current.cache)
Httpcontext.current.cache.remove(de.ToString());
高手给点建议吧? 整个网站的cache机制还是要的,不能完全禁止它。
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Response.ContentEncoding = Encoding.UTF8;
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(false);
}
你写在哪个页面上,哪个页面才不cache,不会整站都不cache的