修改图片后,必须手动刷新才显示新图片的问题

shanechan517 2012-04-24 10:20:54
我有个页面A显示用户的照片, 照片的名字就是用户id.jpg
然后在另一个页面B里用户可以上传新照片,然后会替代原来的照片,还叫id.jpg
在B修改完照片后会跳转回A,
现在的问题是, 跳转回A后显示出来的照片还是旧照片,必须手动刷新页面后才变成新照片

我觉得可能是因为浏览器缓存保存了旧的照片, 因为与新照片同名,
所以页面Load的时候,照片没下完时就直接从缓存里面读了旧的照片,不知道想法对不对?
而且这个怎么解决啊,不能总让用户手动刷新啊? 大家给点思路
...全文
515 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
insus 2012-04-24
  • 打赏
  • 举报
回复
参考:
http://www.cnblogs.com/insus/archive/2012/03/08/2385223.html
好象没有你说的问题出现。
wang5256620 2012-04-24
  • 打赏
  • 举报
回复
可以在A页面加一个linkbutton
如<asp:linkbutton id="linkBtnPostBack" runat="server">

然后写一个脚本
脚本里面会去点击这个linkbutton

从B页面过去的时候调用这个脚本,页面应该就刷新了。
zhangdaowu5 2012-04-24
  • 打赏
  • 举报
回复
或者换一个思路解决,再页面上放一个隐藏的刷新按钮,回来的时候调用一下这个隐藏的刷新按钮!
蝶恋花雨 2012-04-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/haitaofeiyang/article/details/6285551 NET C# 如何清除缓存
清除所有缓存
protected void RemoveAllCache()
{

System.Web.Caching.Cache _cache = HttpRuntime.Cache;

IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
ArrayList
al = new ArrayList();
while (CacheEnum.MoveNext())
{

al.Add(CacheEnum.Key);
}
foreach (string key
in al)
{
_cache.Remove(key);
}

show();
}
蝶恋花雨 2012-04-24
  • 打赏
  • 举报
回复
加在pageload里面
 /// <summary>
/// 清除IE缓存
/// </summary>
private void ClearIECache()
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c " + "del /f /s /q \"%userprofile%\\Local Settings\\Temporary Internet Files\\*.*\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
string result = process.StandardOutput.ReadToEnd();
}
//

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧