【问题标题】:Update view Progress bar from controller C# & ASP.NET MVC从控制器 C# 和 ASP.NET MVC 更新视图进度条
【发布时间】:2022-08-15 15:29:47
【问题描述】:

在控制器端,我下载一个文件并循环文件上的每一行,并通过 Web API 向服务器发送请求。

我希望每个返回请求答案都会更新视图进度条百分比。

如果在IActionResult 上完成所有操作并在所有文件操作完成后返回视图,那么更新视图进度条的最佳做法是什么:

    标签: c# asp.net-mvc


    【解决方案1】:

    进度条用于显示任务的进度,因此您的任务可能是文件的行数。

    从这里您可以确定行数:https://stackoverflow.com/questions/119559/determine-the-number-of-lines-within-a-text-file#:~:text=IO.-,File.,to%20know%20how%20many%20lines

    现在你有了这个,你可以定义一个计数器,在每个循环结束后加一。

    //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> 
    

    希望这是正确的,可以帮助您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多