如何推迟调用函数装上ASPX用C#整版后

问题描述 投票:6回答:2

下面是我简单的源代码,我只是试图调用页面加载后,该功能,但什么,现在的情况是:它要求页面加载之前该功能。页面加载5秒钟,在这之后,它会显示标签执行。

protected void Page_Load(object sender, EventArgs e)
{
   display();
}

void display()
{
    Thread.Sleep(5000);
    Label3.Text = "done";
}
c# asp.net webforms page-lifecycle
2个回答
2
投票

你应该了解ASP.NET页生命周期读this document。它实际上是说,你正在尝试做的是不可能的。

你在服务器端写的每一个代码将运行在浏览器呈现页面之前。这意味着你不能调用一个函数浏览器呈现页面后,除非你使用另一种方法。

你可以做到这一点,最简单的方法是使用Javascript和Ajax调用或使用Timer,打开从主执行线程不同的一个新的线程。虽然,我不建议开新帖,因为你会失去控制权的执行流程,并在网页上,你可能最终有数百个开放式的线程。


-3
投票

下面代码工作

protected  void Page_Load(object sender, EventArgs e)
{
    Timer1.Interval = 2000;
    Timer1.Enabled = true;
}
protected void Timer1_Tick(object sender, EventArgs e)
{
        Label3.Text = "done";
}
© www.soinside.com 2019 - 2024. All rights reserved.