我正在尝试添加一个Button" Clear Files"不应该与RadAsyncUpload控件交互。
问题是如果客户端选择要上传的几个文件。但随后废弃了这个想法并单击Clear All Files链接..无论如何文件都将上传/处理。
我试图通过jQuery调用传递给btnClearALL_clicked方法等但是没有任何工作。
如果我尝试在同一页面上触发其他功能(恰好进行回发),如何停止上传文件?
<asp:Panel ID="viewWrapperTab2" runat="server">
<div id="viewWrapper2" style="text-align: center;">
<div class="contentUpload">
...<br />
<br />
..
<telerik:RadAsyncUpload runat="server" ID="multiFileUploadA" MultipleFileSelection="Automatic"
OnFileUploaded="multiFileUploadA_FileUploaded" />
<br />
<br />
..
<telerik:RadAsyncUpload runat="server" ID="multiFileUploadB" MultipleFileSelection="Automatic"
OnFileUploaded="multiFileUploadB_FileUploaded" />
<br />
<br />
<asp:Button ID="btnUpload" runat="server" Text="Upload Files" />
<telerik:RadProgressArea runat="server" ID="RadProgressArea2" />
</div>
<asp:LinkButton ID="btnClearAll" onclick="btnClearAll_Click" runat="server" Text="Clear Files" />
</div>
</asp:Panel>
如何隔离两个都进行回发的控件?仅供参考:一切正常。我只需要btnClearAll_clicked来取消多个FileUploadA_FileUploaded从后面的代码中运行或完全绕过它。
有没有办法在代码隐藏中更改触发顺序?
protected void multiFileUploadA_FileUploaded(object sender, FileUploadedEventArgs e){}
在protected void btnClearAll_Click(object sender, EventArgs e){}
答案 0 :(得分:2)
deleteFileInputAt()方法应删除客户端上的所有文件:
function deleteAllFiles() {
var upload = $find('RadAsyncUpload1');
for (var i = 0; i < upload.getUploadedFiles().length; i++) {
upload.deleteFileInputAt(i);
}
}
答案 1 :(得分:1)
这将在客户端完成。由于您使用javascript提交要上载的文件,因此您应该能够向xhr对象添加一个监听器以监视进度。像这样:
xhr.upload.addEventListener('progress', function(e){
if(haltUpload) {
xhr.abort();
}
}, false);
您可能还想提醒服务器文件已被中止以防止其处理。
答案 2 :(得分:1)
要清楚所以我可以尝试一下这里的帮助我们谈论在他们上传或取消他们仍然被上传时删除它们因为这个问题并不清楚并且读取其他人的内容答案并没有帮助我确定你的意思。
答案 3 :(得分:1)
你可以删除runat =&#34; server&#34;所以不会有回发然后使用函数deleteAllFiles()(如上所述)来删除客户端上的文件