网站优化公司排名深圳,深圳网络营销公司,创意的广告图片,centos 6.5 wordpress一、执行过程中#xff0c;要刷新 进度条 的显示#xff0c;需要 延时、释放#xff0c;否则进度条不 实时 更新#xff0c;最后一下到 100% // 延时#xff0c;释放给前端#xff1a;【必须】#xff0c;否则进度条不 实时 更新#xff0c;最后一下到 100await Task.D…一、执行过程中要刷新 进度条 的显示需要 延时、释放否则进度条不 实时 更新最后一下到 100% // 延时释放给前端【必须】否则进度条不 实时 更新最后一下到 100await Task.Delay(1);
二、执行过程中需要 通知 Blazor 更新 UI否则不 实时 更新
// 通知 Blazor 更新 UI【必须】否则不 实时 更新
StateHasChanged();
三、如果是单击执行执行过程中应该禁用 按钮防止没有执行完毕就再次进入
// 禁用按钮
IsButtonDisabled true;
四、示例程序
page /progress-demoh3进度条示例/h3br /button onclickStartCalculation disabledIsButtonDisabled开始计算/buttonbr /
br /progress valueprogressValue max100/progressp进度: progressValue%/pcode {private bool IsButtonDisabled { get; set; } false;// 模拟 费时 计算void Calculation(){double d 1.1;for (int i 0; i 1000000; i){d * 9.9;}}// 进度条数值变量private int progressValue 0;private async Task StartCalculation(){// 禁用按钮IsButtonDisabled true;// 重置进度条progressValue 0;// 开始 多次 费时 操作for (int i 1; i 1000; i){// 这儿时 具体 费时 操作代码Calculation();// 更新一次进度条if (i % 10 0){// 更改进度条数值progressValue;// 输出到 Console 观察实际进度System.Console.WriteLine($progressValue {progressValue}, i {i});// 延时释放给前端【必须】否则进度条不 实时 更新最后一下到 100await Task.Delay(1);// 通知 Blazor 更新 UI【必须】否则不 实时 更新StateHasChanged();}}// 计算完成确保 进度条 设置为 100%progressValue 100;// 重新启用按钮IsButtonDisabled false;await Task.FromResult(true);}
}