为什么不asp:UpdatePanel刷新图像?

Dav*_*836 2 c# asp.net updatepanel refresh image

我有以下UpdatePanel从ashx处理程序获取图像,所有这些都在页面刷新时正常工作.但是,当计时器触发时,标签会以当前时间刷新,但不会刷新图像.

<asp:UpdatePanel runat="server" id="TimedPanel" UpdateMode="Conditional">
    <ContentTemplate>
         <asp:Image ID="Image1" runat="server"  Height="218px" 
            ImageUrl="~/getImage.ashx?cam=1" Width="303px" BorderWidth="10px" />
        <asp:Timer ID="UpdateTimer" runat="server" interval="1250" 
            ontick="UpdateTimer_Tick" />
        <asp:Label ID="DateStampLabel" runat="server" />
    </ContentTemplate>
   <Triggers>
        <asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
    </Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

计时器例程是:

protected void UpdateTimer_Tick(object sender, EventArgs e)
{
    DateStampLabel.Text = DateTime.Now.ToString();
}
Run Code Online (Sandbox Code Playgroud)

为什么图像不刷新?

ric*_*ott 5

一般来说AJAX很容易出现浏览器缓存.我通常DateTime.Now.Ticks会在URL中添加一个.此外,您的UpdateMode是条件,您必须调用Update():

protected void UpdateTimer_Tick(object sender, EventArgs e)
{
    DateStampLabel.Text = DateTime.Now.ToString();
    Image1.ImageUrl += "&CacheBuster=" + DateTime.Now.Ticks.ToString();
    TimedPanel.Update();
}
Run Code Online (Sandbox Code Playgroud)