image 闪烁 c# ajax updatepanel,Why doesn't asp:UpdatePanel refresh an Image?

在ASP.NET中,使用UpdatePanel更新页面时遇到一个问题:当Timer触发时,只有Label的时间戳更新,而图片没有刷新。原因在于AJAX更新易受浏览器缓存影响。解决方法是在ImageUrl末尾添加当前时间戳防止缓存,同时调用Update()方法确保UpdatePanel更新。代码示例中展示了如何在Timer事件处理程序中更新ImageUrl并强制Panel刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

I have the following UpdatePanel that gets an image from an ashx handler all of which works fine when the page is refreshed. However, when the timer fires, the label is refreshed with current time, but never the image.

ImageUrl="~/getImage.ashx?cam=1" Width="303px" BorderWidth="10px" />

ontick="UpdateTimer_Tick" />

The timer routine is:

protected void UpdateTimer_Tick(object sender, EventArgs e)

{

DateStampLabel.Text = DateTime.Now.ToString();

}

Why isn't the image refreshed?

回答1:

AJAX in general is really prone to browser caching. I normally add a DateTime.Now.Ticks to the URL. Also, your UpdateMode is Conditional, you have to call Update():

protected void UpdateTimer_Tick(object sender, EventArgs e)

{

DateStampLabel.Text = DateTime.Now.ToString();

Image1.ImageUrl += "&CacheBuster=" + DateTime.Now.Ticks.ToString();

TimedPanel.Update();

}

来源:https://stackoverflow.com/questions/7472131/why-doesnt-aspupdatepanel-refresh-an-image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值