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

时间:2012-01-17 05:20:54

标签: c# asp.net

我正在开发一个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" />

但它不起作用。任何人都可以解释我如何才能完成这项任务。

提前感谢。

2 个答案:

答案 0 :(得分:1)

要从客户端计算机执行服务器端代码,除了UpdatePanelAjax之外,还有别的方式。客户端请求应该到达服务器以执行请求。这种情况发生的方式是PostBack或Get请求。 PostBack将重新加载页面,如果你没有使用UpdatePanel(我猜你不想要的话),第二个是GET,这也是你不想要的。

<强>更新

根据@Lloyd

  

是的,您可以通过将“Response.BufferOutput”属性设置为false,直接写入Response.Output并刷新流来按顺序将内容呈现到页面。

答案 1 :(得分:0)

您应该明白,当您在服务器端编写任何代码时,它只会在成功回发后反映在broswer中。如果您编写C#代码以显示进度图像,那么只有在回发成功后才会显示,这意味着在创建XML文件并将其下载到客户端之后或成功执行lb_DownloadXML_Click()之后。

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