我需要在ajax帖子上实现基于自定义文本的进度。 当用户点击按钮并执行帖子时,我很乐意告知用户当前状态。 (例如,设置按当前状态按下的按钮的文本)。
因此,在下面的示例中,用户应该更新四次。
public ActionResult DoWork()
{
//Create the application pool code
creating app pool. please wait...
//Create the website code
creating website. please wait...
//Create database code
creating database. please wait...
//All done! enjoy new user!!
job succeeded! Welcome!
return View();
}
我可以用jquery实现这样的效果吗?
是否有类似OnChange
的内容可以使用?
答案 0 :(得分:2)
经典客户端到服务器方式:客户端定期呼叫服务器 - >服务器返回状态/百分比 - >客户端更新html:
var intervalId = setInterval(function () {
$.post("Home/Progress", { id: taskId }, function (progress) {
if (progress >= 100) {
updateMonitor(taskId, "Completed");
clearInterval(intervalId);
} else {
updateMonitor(taskId, progress + "%");
}
});
}, 100);
好的解释here。
现代服务器到客户端解决方案是SignalR。是的,MVC4支持它:
while((line = Console.ReadLine()) != null)
{
// Send a message to the server
connection.Send(line).Wait();
}
示例:Progress bar for long running server calls in ASP.Net MVC