1
当ASP.NET MVC 3控制器完成它的工作时,是否发生jquery事件?MVC控制器完成时触发的Jquery事件
我有一个MVC页面上的链接,允许用户下载文件。 MVC控制器返回一个文件。点击链接时,我有一个jquery函数,在创建文件时锁定屏幕。用户然后获得一个对话来保存文件。但是当文件实际返回给用户时,我有另一个我想运行的jquery函数来解锁屏幕。
这里是我的代码:
在MVC视图:
@Html.ImageLink("Download as CSV", "Report", "GetCSVFile", "", Url.Content("~/Content/images/csv.png"), "Generate Report", null, null, null, true, "blockscreenfunction")
在控制器:
public ActionResult GetCSVFile()
{
string fullName = service.initiateCsvGeneration(1);
string fileName = Path.GetFileName(fullName);
return File(fullName, "text/csv", fileName);
}
因此,在总结,当用户开始下载,我锁定屏幕jquery blockscreenfunction函数。然后控制器创建文件,用户获得文件下载对话框。我有另一个我用来解锁屏幕的jquery函数。如何在控制器返回文件后执行此功能?
这似乎不是一个有用的功能。为什么要在下载文件时锁定屏幕?你有没有在别的地方见过这个?最终,我认为你能达到你所要求的唯一方法就是做这样的事情'setTimeout(unblockscreenfunction,3000)' –
我确实同意你的意见,但这些要求并不是由我设定的。也许我可以与其他人一起检查,看看是否可以改变这个要求。 – carlg
如果没有,请查看http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx –