我有一个包含图像和按钮的Ajax更新面板的父页面。有一个超链接可以打开一个子页面。提交子页面时,有一个onclientclick事件触发javascript函数,该函数单击父页面上更新面板中的按钮,按钮的click事件是面板的触发器以及更新图像URL的事件。
当我在Android平板电脑上使用它时,它完美无缺。但是,它在我在PC(Windows XP)上使用的任何浏览器上都不起作用。图像URL会更新,但如果不刷新整个页面,则不会显示更新的图像。在IE中,我可以右键单击图像,然后单击“显示图像”并更新。在Chrome和Firefox中,我必须刷新整个页面。
为什么Ajax控件只能在Android操作系统上正常工作?如果没有刷新页面,即使图像URL显然正确更新,也会导致图像无法在我的电脑上重新显示。我怀疑是一个缓存问题,但不知道如何纠正。
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Visible="False" Width="231px"></asp:TextBox>
<asp:TextBox ID="CustSigLabel0" runat="server" BorderStyle="None" CssClass="TextBoxLabel" style="font-weight: 700" Width="150px">Customer Signature: </asp:TextBox>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/CustomerSign.aspx" Target="_blank" Font-Size="Medium">Get Signature</asp:HyperLink>
<asp:Image ID="Image4" runat="server" Height="110px" Width="865px" AlternateText="No Signature Captured" GenerateEmptyAlternateText="True"></asp:Image>
<asp:Button ID="Button3" runat="server" Text="Refresh Signature"
BackColor="White" BorderStyle="None" ForeColor="White"></asp:Button>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button3" EventName="Click"> </asp:AsyncPostBackTrigger </Triggers>
</asp:UpdatePanel>
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
If File.Exists(FileName) Then
Image4.ImageUrl = NewImageURL
Else
Image4.ImageUrl = NewImageURL
End If
TextBox1.Text = "True"
UpdatePanel1.Update()
End Sub