我不确定线程如何工作。
这是我的代码。单击发送按钮后:
protected void BtnSend_Click(object sender, EventArgs e)
{
Thread threadA = new Thread(SendSMS);
threadA.Start();
}
protected void SendSMS()
{
//some validations here
Thread threadB = new Thread(loadingScreen);
threadB.Start();
threadB.Join();
//code that actually sends the required Mail
threadB.Stop();
loading.Visible = false;
}
threadB正在调用此方法,该方法基本上是一个div(称为loading),具有一个div加载,使用户无法按屏幕上的任何键:
protected void loadingScreen()
{
loading.Visible = true;
}
现在正在发送邮件,但是加载屏幕(div)变得不可见。
我究竟做错了什么?
最佳答案
在编写ASP.NET与富客户端应用程序时必须重新考虑。简而言之(实际上确实很短),Web浏览器(客户端)将请求发送到服务器。服务器处理该请求(该部分是您后面的代码),然后将结果返回到Web浏览器。
当您在背后的代码中显示DIV时,请做一些工作,然后再次将其隐藏,只有结果会到达Web浏览器。
有多种方法可以实现所需的光学效果,但是必须首先了解ASP.NET的生命周期。例如,启动here。
关于c# - 启动,停止线程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17783831/