我正在开发一个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" />
但它不起作用。任何人都可以解释我如何才能完成这项任务。
提前感谢。
答案 0 :(得分:1)
要从客户端计算机执行服务器端代码,除了UpdatePanel
或Ajax
之外,还有别的方式。客户端请求应该到达服务器以执行请求。这种情况发生的方式是PostBack或Get请求。 PostBack
将重新加载页面,如果你没有使用UpdatePanel
(我猜你不想要的话),第二个是GET,这也是你不想要的。
<强>更新强>
根据@Lloyd
是的,您可以通过将“Response.BufferOutput”属性设置为false,直接写入Response.Output并刷新流来按顺序将内容呈现到页面。
答案 1 :(得分:0)
您应该明白,当您在服务器端编写任何代码时,它只会在成功回发后反映在broswer中。如果您编写C#代码以显示进度图像,那么只有在回发成功后才会显示,这意味着在创建XML文件并将其下载到客户端之后或成功执行lb_DownloadXML_Click()之后。
因此无法使用C#服务器端代码实现这一点,您必须依靠客户端编程才能实现此目的。