gpt4 book ai didi

asp.net-mvc - 如何将进度传递到 MVC 页面

转载 作者:行者123 更新时间:2023-12-02 15:44:22 25 4
gpt4 key购买 nike

我有一个委托(delegate)方法,在 WriteAnObject 上传文件时被称为周期性的。我想使用 args.PercentDone 值更新 MVC 页面中的 div (ProgressUpdate)。我很感激任何想法?谢谢,

//委托(delegate)方法

private void displayProgress(object sender, ProgressArgs args)
{
//Console.WriteLine(args.PercentDone); //I want to display args.PercentDone in the page
}

// Controller

[HttpPost]
public ActionResult WritingAnObject(MyViewModel bovModel)
{
//DoSomeStuff which is cause calling displayProgress

return RedirectToAction("ListingSomeInfo", "testpart");
}

//查看

<%using (Html.BeginForm("WritingAnObject", "testpart", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>

<%:Html.TextBox("catname") %>
<input type="file" id="fileupload" name="fileupload" />
<input type="submit" value="Upload" />
<%} %>


<div id= “ProgressUpdate”</div>

最佳答案

这是一种在服务器上的操作完成时向用户显示进度的方法。 (需要 JavaScript)

1) 编写一个在服务器上启动进程的操作。此方法应该更新 session 状态中的进度值(以便它特定于用户正在运行的每个 session )。

2) 编写客户端可以调用以返回进度的操作。这将读取 session 状态中的值。通常,此操作将返回一个小 HTML 片段,其中包含填充正确数量的进度条,或者返回一个包含进度值的 JSON 对象。

3) 从客户端进行 jQuery.ajax() 调用,以在操作运行时异步轮询服务器以获取进度并更新 UI。

附加功能:- 取消长时间运行的操作的操作- 在 Web 应用程序外部运行任务(Azure 有一些关于从 Web 应用程序异步运行任务的出色功能)- 让返回进度的操作也让客户端知道操作是否已完成或取消。

关于asp.net-mvc - 如何将进度传递到 MVC 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com