如何从网页中的RadAsyncUpload控件中删除上载的文件,但不从临时文件夹中删除

时间:2015-06-16 06:18:21

标签: asp.net telerik

我想从网页中的radasyncupload控件中删除上传的文件,但不是从temp文件夹中删除我使用以下代码将其从上传的文件数组中删除。

                    Array.removeAt(fileUploadObject._uploadedFiles, 0);                
                    fileUploadObject.updateClientState();

但是上传的文件仍在网页中显示它没有删除。如果我调用deleteFileInputAt方法,那么它将从网页中删除该文件,但它也从临时文件夹中删除该文件。

                    fileUploadObject.deleteFileInputAt(0);
                    fileUploadObject.updateClientState();

如何仅从控件中删除附件,而不从临时文件夹中删除?

1 个答案:

答案 0 :(得分:0)

如果您不想操作服务器,则可以操作呈现的HTML。以下是执行以下操作的示例:

  • 通过CSS类找到成功上传

  • 得到第二个(因此硬编码索引1)

  • 删除其父li元素,因为所有这些行都呈现为li元素,其中包含更多HTML

当然你可以清理它,重构它并添加一些逻辑(例如,检查.ruUploadSuccess元素的innerHTML,这样你就知道你正在处理哪个文件名)

        <telerik:RadAsyncUpload runat="server" ID="RAU1"></telerik:RadAsyncUpload>
        <asp:Button ID="Button1" Text="remove a file" OnClientClick="removeAFile(); return false;" runat="server" />
        <script>
            function removeAFile() {
                var rau = $find("<%=RAU1.ClientID%>");
                var secondUploadedFileRow = $telerik.$(".ruUploadSuccess", rau.get_element())[1];
                $telerik.$(secondUploadedFileRow).closest("li").remove();
            }
        </script>