显示使用c#代码加载图像

本文关键字:加载 图像 代码 显示 | 更新日期: 2023-09-27 18:20:25

我正在开发一个web应用程序,当我的代码创建一个xml文件并下载它时,我想显示一个加载图像(繁忙指示符)。我想在div中显示图像。我应该只使用c#代码,而不是更新面板或jquery ajax技术。我的代码看起来像:

protected void lb_DownloadXML_Click(object sender, EventArgs e)
    {
        this.imgLoading.Visible = true;
        //all my code
        this.imgLoading.Visible = false;
    }

我的图像是

<img src="Images/loading_big.gif" width="50" height="40" runat="server" id="imgLoading"
                                    visible="false" />

但它不起作用。有人能解释我怎样才能完成这项任务吗。

提前谢谢。

显示使用c#代码加载图像

要从客户端机器执行服务器端代码,除了UpdatePanelAjax,没有其他方式。客户端请求应该到达服务器以执行请求。发生这种情况的方式是通过PostBack或Get请求。若你们并没有使用UpdatePanel(我想你们不想要),PostBack会重新加载页面,第二个是GET,你们也不想要。

更新

根据@Lloyd

是的,您可以将"Response.BufferOutput"属性设置为false,直接写入Response.Output并刷新流,从而按顺序向页面呈现内容。

您应该清楚,当您在服务器端编写任何代码时,它只会在成功回发后反映在broswer中。在这里,如果您编写C#代码来显示进度图像,那么它将仅在回发成功后显示,也就是说,在创建XML文件并将其下载到客户端之后,或者在成功执行lb_DownloadXML_Click()之后。

因此,使用C#服务器端代码无法实现这一点,必须依靠客户端编程才能实现。