环境:ASP.NET,C#
我正在编写一个将12个表导出到另一个数据库的Web程序。当用户单击“导出”按钮时,导出过程将开始。问题是,我喜欢向客户端显示一些消息,例如“准备......,删除旧记录......,导出...,导出已完成”。
但是现在,一旦12个表格完成,它将显示所有状态。
请指导我如何做到这一点。
答案 0 :(得分:2)
在网页上执行这样的漫长过程可能不是一个好主意,您需要更改页面上的超时设置等
而是构建一个完成所有工作的Windows服务。然后,您可以使用页面初始化该过程。该服务可以更新页面读取的某些状态。这样,页面几乎不起作用,即启动进程并轮询状态更新。这可以通过简单的jquery / ajax调用来完成。
答案 1 :(得分:0)
试试这个
把它放在c#上 并调用每个进程的javascript函数 Page.RegisterClientScriptBlock(“1”,“alert('add to table now')”);
答案 2 :(得分:0)
使用javascript计时器定期从状态页面或服务加载内容。
计时器非常简单:
setTimeout('checkProcessStatus()', waitTime);
更新本身取决于您对技术的选择 - 例如,如果使用MVC和jQuery:
function checkProcessStatus() {
//dynamically add the html from the status page to <div id="taskStatusPanel"
$('#taskStatusPanel').load('export/status/' + taskId);
//set timer to call this again
setTimeout('checkProcessStatus()', waitTime);
}
然后ExportController.Status
操作将返回一个显示当前状态的HTML的简单视图。