我有一个页面在 page_load 方法中执行长时间运行的任务(10 到 15 秒)。
我有客户端 javascript 代码,可以向用户显示像样的“页面加载”动画 gif。
我能够从代码隐藏调用 JavaScript 方法,以显示“页面加载”动画 gif,但是,长时间运行的任务挂断了 UI,这样动画 gif 直到在长时间运行的任务完成后,这与我想要的完全相反。
为了对此进行测试,我在 page_load 方法中调用了 JavaScript 方法来显示动画 gif。然后,我使用 Thread.Sleep(10000)。发生的情况是动画 gif 直到 Thread.Sleep 完成后才显示。
显然我做错了什么。
如有任何建议,我们将不胜感激。
谢谢。
克里斯
下面是代码隐藏的例子:
protected void Page_Load(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript
(GetType(), "Javascript", "javascript: ShowWaitIndicator(); ", true);
Response.Flush();
Thread.Sleep(10000);
}
最佳答案
我通过在页面上放置一个计时器来完成此操作。在第一次打勾后禁用它并运行你的任务。
<asp:Timer runat="server" id="UpdateTimer" interval="500" ontick="UpdateTimer_Tick" />
我根据需要将它放在 UpdatePanel 中。我不确定什么最适合你。然后在你的代码后面......
Protected Sub UpdateTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
UpdateTimer.Enabled = False
' run method here
End Sub
关于c# - ASP.NET - 在页面加载时显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017135/