AsyncFileUpload - это асинхронный элемент управления сам по себе.Это означает, что когда вы загружаете файл с помощью этого элемента управления, он загружается на сервер.
Затем, если вы нажмете кнопку «Сохранить», чтобы загрузить снова, он снова загрузит этот файл, если только элемент управления fileupload не попадет на сервер, тогдаочищает себя.
К сожалению, вы должны сохранить этот файл, когда он попадает на сервер в первый раз.Вы можете использовать сеанс или сохранить его в файловой системе с известным идентификатором, например, 1234.tmp, а затем захватить его, когда установлен элемент UpdatePanel.
Кроме того, чтобы убедиться, что вы очистили AsyncFileUpload, это то, что вы делаете,После завершения загрузки файла
protected void AsyncFileUpload_OnUploadedComplete(object sender,
AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
((AsyncFileUpload)sender) // You have to save this somewhere, or the information in it
((AsyncFileUpload)sender).ClearAllFilesFromPersistedStore();
((AsyncFileUpload)sender).ClearFileFromPersistedStore();
sender = null;
}
Затем на странице используйте некоторый javascript как таковой при событии завершения загрузки элемента управления
function UploadComplete() {
var btn = document.getElementById('MainContent_btnEnter');
btn.value = "Enter";
btn.disabled = false;
var form1 = document.getElementById('form1');
form1.target = "";
document.getElementById('MainContent_upVideo').innerHTML = 'Uploaded Successfully';
document.getElementById('MainContent_upVideo').value = '';
document.getElementById('MainContent_upVideo_ClientState').value = '';
}
Обратите внимание, что вам необходимо сбросить целевой объект формы.Также обратите внимание, что вам нужно очистить значение ClientState, и вы можете добавить какой-нибудь законченный текст на странице.MainContent - это просто ContentHolder, поэтому убедитесь, что вы получили правильное имя элемента управления для своей страницы.