1

当 ASP.NET MVC 3 控制器完成工作时,是否会触发 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 函数。控制器返回文件后如何执行此功能?

4

1 回答 1

1

你可能想试试@Ajax.ActionLink。它具有OnComplete属性,您可以在其中设置解锁屏幕的 jQuery 函数。

@Ajax.ActionLink("Download FIle", "ActionName", "ControllerName", ... ,  new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, OnBegin = "LockScreenFunction", OnComplete = "UnlockScreenFunction", UpdateTargetId = "TargetElement" })
于 2013-06-05T02:58:00.543 回答