Закройте Ajax Modal Popup после некоторого кода в ItemCommand ASP.Net
У меня проблемы с закрытием ModalPopup после выполнения последовательности кода. Я кодирую файловый браузер для своей компании, и все работает нормально, за исключением загрузки файлов. Я использую SignalR, чтобы вызвать virusscan перед загрузкой файла. Мой код выглядит так:
if (e.CommandName == "DownloadFile")
{
string filename = ((Button)e.Item.FindControl("bt_file")).Text;
if (transHub.doScanFile(filename, currentPathShort, shareType, MasterSessionID, SessionID, user))
{
Downloader.DownloadFile(HttpContext.Current, currentPath + @"\" + filename);
mpe_download.Hide();
}
else
{
lb_download_status.Text = "Virus found!";
mpe_download.Show();
}
}
Сама загрузка работает нормально, но modalpopup, который я использую, чтобы показать, что процесс virusscan не закрывается, когда начинается загрузка. Я открываю Popup из клиентского JavaScript:
$(".download").on("click", function () {
$find("mpe_download_bhvr").show();
$("#download-progress").progressbar({ value: false });
})
Можете ли вы помочь мне закрыть всплывающее окно сразу после начала загрузки? Или я делаю это совершенно неправильно?
1 ответ
Я не нашел реального решения для этого, но я сделал небольшой обходной путь. Я сейчас запускаю загрузку из JavaScript и перемещаю файлы, заархивированные с моего UserShare(Сервер с файлами на нем), на мой веб-сервер и генерирую прямую ссылку. Это довольно безопасно, и есть возможность загружать несколько файлов одновременно. Так что я больше не использую Downloadhandler, и я могу использовать всплывающее окно jQuery Dialog для отображения информации.