ASP.NET - 页面加载时显示消息

Chr*_*ris 5 javascript c# asp.net

我有一个页面在page_load方法中执行长时间运行的任务(10到15秒).

我有客户端的JavaScript代码,将向用户显示一个体面的"页面加载"动画GIF.

我能够从代码隐藏中调用JavaScript方法,以显示"页面加载"动画gif,但是,长时间运行的任务正在挂起UI,使得动画gif实际上不会显示直到长时间之后 - 运行任务完成,这与我想要的完全相反.

为了测试这一点,在我的page_load方法中,我调用JavaScript方法来显示动画gif.然后,我使用Thread.Sleep(10000).发生的事情是,直到Thread.Sleep完成后才会显示动画gif.

显然我做错了什么.

任何意见,将不胜感激.

谢谢.

克里斯

下面是代码隐藏的示例:

protected void Page_Load(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript
              (GetType(), "Javascript", "javascript: ShowWaitIndicator(); ", true);

        Response.Flush();

        Thread.Sleep(10000);
    }
Run Code Online (Sandbox Code Playgroud)

小智 0

听起来 Javascript 加载是在 ASP 加载过程之后显示的。您可能希望将时间密集型操作延迟到 Page.LoadComplete - 这样,您的用户将在密集型操作发生之前看到 Javascript 渲染。

然后,您可以在函数完成后根据需要更新页面内容。

你能提供一个代码示例吗?