接受文件后,将asp:ImageButton ImageUrl更改为默认URL

时间:2015-12-18 12:56:59

标签: javascript c# asp.net postback imagebutton

当用户点击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...
}

我需要找到一种方法在客户端收到文件时将图像更改回默认图像,但我找不到如何

0 个答案:

没有答案