Я работаю на довольно старом веб-сайте VB.NET ASP.NET и пытаюсь подключить функцию перетаскивания, а также функцию «просматривать». Все работает, если вы просто заходите на страницу и загружаете. Однако, если вы выполняете какие-либо действия в UpdatePanel на странице, функциональность ломается. Таким образом, я добавил это в моем Page_Load:jQuery FileUpload регистрируется несколько раз
' register the script that wires up the upload region
Dim cstext1 As String = "setupFileUpload();"
ScriptManager.RegisterStartupScript(upfiles, upfiles.GetType(), "UploadFileSetup", cstext1, True)
Это работает, но проблема заключается в том, если вы запускаете несколько операций FileUpload, кажется, продолжает регистрировать свое поведение. Итак, если я загружаю файл, он отображается несколько раз (пример - 5 загрузок файлов происходят в фоновом режиме.
Мой javascript выглядит примерно так. Любые предложения о том, как я могу проверить, зарегистрирован ли обработчик?
фрагмент кода:.
function setupFileUpload() {
if ($('#fileupload').fileupload) return;
$('#fileupload').fileupload({
dataType: 'json',
url: '<%= ResolveUrl("AjaxFileUpload.ashx") %>',
add: function (e, data) {
$('#<%= lblErrorFileType.ClientID %>').css('display', 'none');
var valid = true;
var re = /^.+\.((txt)|(jpeg)|(jpg)|(png)|(gif)|(pdf)|(doc)|(docx)|(xls)|(xlsx))$/i;
$.each(data.files, function (index, file) {
if (!re.test(file.name)) {
$('#<%= lblErrorFileType.ClientID %>').css('display', '');
valid = false;
}
});
if (valid)...
Извините, вы должны были упомянуть, что строка с if ($ ('# fileupload'). Fileupload) return; была попытка избежать многократной регистрации, но, похоже, она сломала все в том случае, если обновленная панель возвращается. Благодарю. – HelluvaEngineer