Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的机器人状态文本框无法使用等待功能改变颜色_C#_Asp.net_Async Await - Fatal编程技术网

C# 我的机器人状态文本框无法使用等待功能改变颜色

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

我试图施加2秒的延迟,以允许用户看到代表机器人状态的文本框从红色变为绿色。我正在web应用程序中使用C#和ASP.NET。它似乎跳过了很多东西,但没有向用户显示,即每一步。有什么问题吗?请参阅下面的代码:

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开发的基本知识。