Есть ли событие jquery, которое запускается при завершении работы контроллера ASP.NET MVC 3 с его работой?Событие JQuery, которое срабатывает при завершении работы контроллера MVC
У меня есть ссылка на странице 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 blockscreenфункции. Затем контроллер создает файл, и пользователь получает диалог загрузки файла. У меня есть другая функция jquery, которую я использую для разблокировки экрана. Как я могу выполнить эту функцию после того, как контроллер вернет файл?
Это не похоже на полезную функцию. Почему вы хотите заблокировать экран во время загрузки файла? Вы видели это в другом месте? В конечном счете, я думаю, что единственный способ добиться того, что вы просите, - это сделать что-то вроде этого 'setTimeout (unblockscreenfunction, 3000)' –
. Я действительно согласен с вами, но требования меня не задают. Возможно, я мог бы проверить с другими и посмотреть, не изменилось ли это требование. – carlg
Если нет, проверьте это: http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx –