AsyncFileUpload IsUploading未定义

时间:2016-12-15 15:13:21

标签: ajaxcontroltoolkit asp.net-4.0 asyncfileupload

我有一个AsyncFileUpload和一个列出上传文件的Repeater。当我选择一个文件时,它曾尝试上传两次。我有一个重复的文件检查.cs文件,所以它始终显示"文件已经存在"错误信息。我搜索了一个答案,似乎共识是使用AsyncFileUpload的IsUploading并且如果条件为true则返回而不执行另一个__doPostBack(" ...")。

当我在这个JS函数中设置断点时,我得到IsUploading(或isUploading)是未定义的,因此它不会返回,因为它应该仍然上传两次。

我尝试删除" ClientIDMode =' Auto'"但它没有帮助。

<ajaxToolkit:AsyncFileUpload
    runat="server"
    ClientIDMode="AutoID" 
    ID="fuDocument" 
    Width="380" 
    UploadingBackColor="#CCFFFF" 
    ThrobberID="myThrobber" 
    UploaderStyle="Modern" 
    OnClientUploadStarted="onClientUploadStart"
    OnClientUploadComplete="onClientUploadComplete" 
    OnClientUploadError="onClientUploadError"
    onuploadedcomplete="fuDocument_UploadedComplete" />
<span id="spnUploadInfo"></span>

function onClientUploadStart(sender, e) {
    var spnUploadInfo = document.getElementById('spnUploadInfo');
    spnUploadInfo.innerHTML = 'Please wait while uploading ' + e._fileName;
}

function onClientUploadError(sender, e) {
    var spnUploadInfo = document.getElementById('spnUploadInfo');
    spnUploadInfo.className = "Error";
    spnUploadInfo.innerHTML = 'An error occurred during uploading. "' + e.get_errorMessage();
}

function onClientUploadComplete(sender, e) {debugger
    var fu = $get("<%=fuDocument.ClientID%>")
    if (fu.isUploading) return;
    // Also tried "if (fuDocument.IsUploading)" with ClientIDMode set to Auto
    var spnUploadInfo = document.getElementById('spnUploadInfo');
    spnUploadInfo.innerHTML = "...";
    __doPostBack('upnlAtt', '');
}

0 个答案:

没有答案