У меня есть стандартный элемент управления загрузкой файлов asp.net со стандартной кнопкой asp.net на простой странице .aspx.Когда кнопка нажата, я делаю загрузку моего файла.Я хотел показать простую анимацию gif «загрузка ...».
Сначала я достиг этого, добавив простую функцию JavaScript к нажатию кнопки OnClientClick, например, так ...
<asp:Button runat="server" ID="btn_Upload" OnClienClick="return ShowMyUploadingDiv();" OnClick="btn_Upload_Click" />
Мой код JavaScript, выглядел так:
function ShowMyUploadingDiv() {
$('#uploadingDiv').show();
return true;
}
Так как моя функция JavaScript возвращает true, мой uploadingDiv (в котором был анимированный .gif) обнаруживается, а затем выполняет PostBack.Золотой.
Проблема?Ну, в IE есть небольшая проблема, когда все .gif-файлы останавливают анимацию в PostBack.Отлично.Исследуя эту проблему, я обнаружил, что вы можете обновить исходный код .gif с помощью функции setTimeout, но понял, что с этим связана другая проблема.Вперед ...
Итак, я пошел другим путем и использовал jQuery для анимации графики.Теперь все работает отлично.Появляется папка uploadingDiv, и мои файлы загружаются во время воспроизведения процедуры анимации jQuery.
Следующая проблема?Теперь JavaScript, открывающий div и воспроизводящий анимацию, не работает в Chrome до конца!
TL; DR Chrome, похоже, не поддерживает JavaScript после PostBack.