我有一个控制器动作,将上传的excel文件导入到数据库中。导入可能需要几分钟时间。如何向客户端上报导入进度?我知道我必须使用ajax,但我找不到任何干净的代码,这将是报告进度的理想选择。
我对mvc4和asp.net非常陌生。所以我想听听你的建议/方法来解决我的问题。我想写一个可靠而干净的解决方案,但我真的不知道如何开始。
如果任何人都有向客户报告进度的经验,那就太好了。
发布于 2013-08-23 00:26:06
一个简单的方法是让upload方法(开始处理)返回正在运行的作业的ID。然后使用该ID查询作业状态。
发布于 2013-08-23 00:26:40
我强烈建议使用plupload插件。This plugin它在所有浏览器上都能完美工作,并且有进度条
发布于 2013-08-23 00:53:05
如果要通过作业将数据导入MSSQL,则可以使用脚本监视作业的状态,直到作业完成。如果客户端需要知道导入记录的百分比,您可以从excel表格中检索要导入的行数,并将其与表中的总行数进行比较。然后,您可以报告已导入行的百分比。
但是,如果不是简单地导入到一个表中,而是多个表中,这可能会变得很棘手。在这种情况下,您需要计算出预期添加的行数,并根据当前导入监视所有这些行数。
一旦弄清楚了这一点,就不难根据返回的数据向用户提供一个状态栏了。
https://stackoverflow.com/questions/18386010
复制相似问题