В моем приложении я создаю zip-файл для загрузки пользователем информации о экспортированной базе данных. Zip-файл создается, когда пользователь нажимает кнопку «сгенерировать данные», и я регистрирую запрос в базе данных.Запустите загрузку файла после отправки
На моей странице у меня есть Gridview, который показывает историю загрузки Пользователя, а также дает им возможность загружать последний сгенерированный файл за определенный период времени.
Проблема, с которой я сталкиваюсь, - это когда они нажимают кнопку, я хочу, чтобы страница обновлялась (таким образом, обновляя gridview и показывая их последний запрос), а затем запускайте загрузку файлов для них (IE, поднимите и пусть они решат, открывать/сохранять/отменить его).
Я могу начать загрузку в сообщении, но мой Gridview не обновляется до его начала, поэтому он не отображает самый новый запрос в списке. Как я могу получить gridview для обновления до того, как начнется запрос на загрузку?
Я использую следующие, чтобы начать загрузку:
public void BeginDownload()
{
FileDownload download = InventoryService.GetLastThreeFileDownloads(this.EmployeeId).First();
FileInfo fi = new FileInfo(Server.MapPath(SERVER_DOWNLOAD_PATH) + download.DownloadFileName);
Response.Clear();
Response.ContentType = "application/zip";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fi.Name);
Response.TransmitFile(fi.FullName);
Response.Flush();
}
Метод вызывается в случае Page_Load в качестве последнего пункта, если скрытое поле установлено верно (который я поставил, когда они кликают кнопку для создания файла).
Я также пробовал сделать это через вызовы jQuery/AJAX либо обновить страницу, либо начать загрузку с небольшим успехом. Я подумал о том, чтобы открыть модальный диалог и позволить им щелкнуть ссылку, чтобы начать загрузку, а затем обновить страницу, когда модальный закрывается, но это последнее средство, если я не могу найти другое решение.
Любая помощь очень ценится!
Я создал ссылку для загрузки в gridview, поэтому, если она не запускается сама по себе или они по ошибке отменяются, они все равно могут загрузить файл, так как он хранится на сервере. Спасибо за предложения, я обязательно посмотрю на них и посмотрю, что лучше всего работает. – Delebrin