【发布时间】:2022-08-15 15:29:47
【问题描述】:
在控制器端,我下载一个文件并循环文件上的每一行,并通过 Web API 向服务器发送请求。
我希望每个返回请求答案都会更新视图进度条百分比。
如果在IActionResult 上完成所有操作并在所有文件操作完成后返回视图,那么更新视图进度条的最佳做法是什么:
标签: c# asp.net-mvc
在控制器端,我下载一个文件并循环文件上的每一行,并通过 Web API 向服务器发送请求。
我希望每个返回请求答案都会更新视图进度条百分比。
如果在IActionResult 上完成所有操作并在所有文件操作完成后返回视图,那么更新视图进度条的最佳做法是什么:
标签: c# asp.net-mvc
进度条用于显示任务的进度,因此您的任务可能是文件的行数。
现在你有了这个,你可以定义一个计数器,在每个循环结束后加一。
//set initial value to 0
lineCounter += 1;
进度条操作:
public ActionResult UpdateProgressBar(int lineCounter, int allLines)
{
var current_Progress_value = (lineCounter/allLines)*100;
//Pass the value to view
ViewBag.curr_value = current_Progress_value;
return View();
}
像上面一样,您可以使用“viewbag”将值传递给视图 在您的控制器中。
在您看来:
@{
var ProgressValue = (int)ViewBag.curr_value ;
}
这是 ProgressBar html 代码:
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="@ProgressValue" aria-valuemin="0" aria-valuemax="100" id="lblStatus">
</div>
</div>
希望这是正确的,可以帮助您。
【讨论】: