1

我有两件事要做

在按钮单击事件上,我需要

  1. 显示动画 gif
  2. 开始长时间的任务来计算或做任何需要时间的事情

虽然我只是做了测试来实现这一点,但我想

void dothings()
{
  showWait();
  doStuff();
}

接着

void dothings()
{
    Task task1 = new Task(() => showWait());

    task1.Start();

  doStuff();
}

public void showWait()
{
    var img = "<img src=\"images/Earth3_movie.gif\" />";
    DivSerpRes.InnerHtml = img;

}

仍然只有当doStuff() 页面最终完成时才会呈现动画......

我怎样才能把它做好?

编辑

使用 asp.net 4.0 网络表单

4

2 回答 2

1

我已经通过使用图像按钮属性 onClientClick 添加 javascript 代码来完成它

onClientClick="setTimeOut(func, 200)"

function func(){
 var Thectrl = document.getElementById('DivWaitImg');
 Thectrl.style.display = "block";
}

setTimeOut 与 pagepostback 事件有关冻结页面,因此需要等待 200 毫秒

于 2013-06-30T03:03:40.833 回答
0

我很确定你有这个倒退。你想让TaskbedoStuff和 theshowWait非异步。中的方法Task是在后台运行的。

于 2013-06-30T02:01:04.140 回答