我在asp.net程序中实现了下面功能:
单击生成图片按纽,则删除图片文件中旧的图片,并生成新的图片,并将新图片保存在文件夹中。
单击显示图片按纽,则设image控件的Visible=true,将图片在image控件中显示,
单击隐藏图片按纽,则设image控件的ImageUrl="",并设image控件的Visible=false。
问题:
生成新图片后,旧的图片已删除,图片文件夹是图片已是新的,但是image控件仍然显示的是旧的图片,是什么原因呢?怎么办呢?
<image runat='server>并且是放在updatePanel中的。
大家帮帮忙啊!谢谢!
如果你的图片名称删除前后是一样的,那么你只需要如下设置即可:
<image src="abc.jpg" runat="server" OnClientClick="this.src='abc.jpg?id='+Math.random();" />
生成新图片后改变Image的ImageUrl值使之变成新的
如果你新旧图片的文件名一样,可能导致客户端的缓存使得你的图片事实上没有更新,那么考虑URL追加的方式
比如原来是
<image src="abc.jpg" runat="server" />
当更新以后,你将src改成如下
<image src="abc.jpg?v=1" runat="server" />
其中?v=1是没有任何意义的,但是客户端认为前后是不同的文件,因此会刷新图片