C# 我的机器人状态文本框无法使用等待功能改变颜色
我试图施加2秒的延迟,以允许用户看到代表机器人状态的文本框从红色变为绿色。我正在web应用程序中使用C#和ASP.NET。它似乎跳过了很多东西,但没有向用户显示,即每一步。有什么问题吗?请参阅下面的代码:C# 我的机器人状态文本框无法使用等待功能改变颜色,c#,asp.net,async-await,C#,Asp.net,Async Await,我试图施加2秒的延迟,以允许用户看到代表机器人状态的文本框从红色变为绿色。我正在web应用程序中使用C#和ASP.NET。它似乎跳过了很多东西,但没有向用户显示,即每一步。有什么问题吗?请参阅下面的代码: if (checkHaveEnoughChips()) { //txtMessageBox.Text = "Theres enough chips"; txtCurrentOp.Text = "Robot 1 placed tray on Lazy Su
if (checkHaveEnoughChips())
{
//txtMessageBox.Text = "Theres enough chips";
txtCurrentOp.Text = "Robot 1 placed tray on Lazy Susan.";
txtRobot1.BackColor = System.Drawing.Color.Green;
await wait();
currentTray.trayPlaced = false;
txtRobot1.BackColor = System.Drawing.Color.Red;
txtCurrentOp.Text = "Robot 2 Assembling Chips.";
txtRobot2.BackColor = System.Drawing.Color.Green;
await wait();
for (int i = 0; i < 5; i++)
availableChips.colour[i] = availableChips.colour[i] - currentTray.colour[i];
txtCurrentOp.Text = "Robot 2 has assembled chips";
displayAvailableChips();
trayDone();
txtRobot2.BackColor = System.Drawing.Color.Red;
}
//********************************************
protected async Task wait()
{
await Task.Delay(2000);
}
if(选中HaveEnoughChips())
{
//Text=“有足够的芯片”;
txtCurrentOp.Text=“机器人1将托盘放在机器上。”;
txtRobot1.BackColor=System.Drawing.Color.Green;
等待等待;
currentTray.trayPlaced=false;
txtRobot1.BackColor=System.Drawing.Color.Red;
txtCurrentOp.Text=“机器人2组装芯片。”;
txtRobot2.BackColor=System.Drawing.Color.Green;
等待等待;
对于(int i=0;i<5;i++)
availableChips.Color[i]=availableChips.Color[i]-currentTray.Color[i];
txtCurrentOp.Text=“机器人2已组装芯片”;
displayAvailableChips();
茶素();
txtRobot2.BackColor=System.Drawing.Color.Red;
}
//********************************************
受保护的异步任务等待()
{
等待任务。延迟(2000);
}
我认为您对web应用程序的工作方式有很大的误解
我假设您正在使用ASP.NET Web表单编写。您使用的“控件”是将呈现给web浏览器的内容的服务器端表示
所有这些代码都在服务器上运行,完成后,它将向web浏览器呈现一个HTML+CSS+JS页面
ASP.NET Web表单,具有巨大的好处,但清楚地定义您在HTTP端的位置并不是其中之一。您可能需要查看ASP.NET MVC以更清晰地区分客户端和服务器端
您可能还想研究客户端代码的客户端JS框架,如AngularJS、KnocoutJS、React等
您可能还想查看signar,以查看客户端页面的服务器通知。我已经编辑了您的标题。请看“”,其中的共识是“不,他们不应该”。多谢保罗·莫尔加多。我明白你的意思,并且完全理解,所以你说的是所有后端代码都会执行,然后在最后显示前端网页,这就是为什么我看到机器人状态的背景颜色为红色,这意味着它没有改变,事实上,所有这些代码都只在后台执行,前端页面在结束括号之前都不会被更新。那么,在平面英语中,下一个问题是,我如何让它显示前端页面的变化,以便我能看到它们???在将近4个月的时间里,这是对你问题的唯一回答,不知何故,这是我的错,你不了解web开发的基本知识。