当用户点击ImageButton时,我希望Image更改为“正在加载”gif,然后在按钮完成其在服务器端的功能时更改回来。
现在,在每个地方,我都可以这样做而不用担心更改图像,因为我使用javascript将图像更改为加载gif,因此回发会自动将更改恢复为默认值。
但是我有这个ImageButton可以将文件下载到客户端,并且在函数完成后它不会回发,因为用户仍然需要在打开/保存文件之间进行选择。
ASP
<asp:GridView ID="dgPonto" runat="server">
<Columns>
<asp:TemplateField HeaderText="Ver e-mail">
<ItemTemplate>
<asp:ImageButton ID="linkEmailFile" OnClientClick="this.src='../Image/progress.gif';" OnCommand="lnkEmailFile_Click" CausesValidation="false" CommandArgument='<%#Bind("ID") %>' ImageUrl="~/Image/openEmail.png" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
C#
protected void lnkEmailFile_Click(object sender, CommandEventArgs e)
{
Notification notif = NotificationBLL.SelectByID(Convert.ToInt32(e.CommandArgument));
EmailMng.Management.Smtp.MailOpenEml(notif.SerializedEmailFile, notif.ID.ToString());
Response.ClearHeaders();
Response.ContentType = "application/outlook";
Response.AddHeader("Content-Disposition", "attachment; filename=" + notif.ID + ".eml");
Response.TransmitFile(Server.MapPath(@"~/Files/") + notif.ID + ".eml");
//(sender As ImageButton).ImageUrl = "~/Image/openEmail.png" <- This does not work...
}
我需要找到一种方法在客户端收到文件时将图像更改回默认图像,但我找不到如何