asp.net AsyncFileUpload-显示上传文件列表 [英] asp.net AsyncFileUpload - show list of uploaded files

查看:101
本文介绍了asp.net AsyncFileUpload-显示上传文件列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用ajaxtoolkit AsyncFileUpload,并且想要显示上载文件的列表,最后的错误并处理转发器itemCommand来删除上载的文件.

I use ajaxtoolkit AsyncFileUpload and I want to show list of uploaded files, a last error and handle repeater itemCommand to delete uploaded file.

<asp:AsyncFileUpload ID="uploader1" 
    runat="server" 
    OnUploadedComplete="AsyncFileUpload1_UploadComplete"
    OnClientUploadError="uploadError" 
    OnClientUploadStarted="StartUpload"
    OnClientUploadComplete="UploadComplete"
    CompleteBackColor="Lime" 
    UploaderStyle="Modern" 
    ErrorBackColor="Red" 
    UploadingBackColor="#66CCFF"
    ClientIDMode="AutoID" 
    EnableViewState="true" />
<asp:UpdatePanel runat="server">
    <ContentTemplate>
        <asp:Label ID="lblError" runat="server" ForeColor="Red" Visible="false" />
        <asp:Repeater ID="rptAttachments" 
              runat="server" 
              OnItemCommand="Uploader_ItemCommand">
            <ItemTemplate>
             <a href='#'><%#Eval("Filename") %></a>  
             <asp:LinkButton ID="lnkDelete" 
                 runat="server" Text="Удалить"
                 CommandName="DeleteAttachment"
                 CommandArgument='<%#Eval("FileName") %>' 
              /> 
            </ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="uploader1" EventName="UploadedComplete" />
    </Triggers>
</asp:UpdatePanel>







    void AsyncFileUpload1_UploadComplete(object sender, AsyncFileUploadEventArgs e)
        {
           if (e.state == AsyncFileUploadState.Success)
              {

                if (!Facade.Attachment.UploadAttachment(attachment))
                   ShowErrorMessage("File already exists");   
                else
                   BindAttachments();
               }
         }

   void BindAttachments()
        {
            rptAttachments.DataSource = Facade.Attachment.GetAttachments(AttachmentId2);
            rptAttachments.DataBind();
        }

事件AsyncFileUpload1_UploadComplete引起了,但是没有任何反应.

The event AsyncFileUpload1_UploadComplete causes, but nothing happens.

推荐答案

问题是OnUploadedComplete事件是异步的,您无法在页面中进行任何更改.后来我遇到了此类问题,并且您没有看到任何答案. ..
我为我找到了一种解决方法.我在服务器处理程序cookie中设置了所需的信息,然后在客户端函数中读取它并执行适当的操作.
例如,您可以尝试在客户端获取Cookie之后,发送请求以刷新页面.

The matter is OnUploadedComplete event is asynchronous and you can't make any changes in page. I had such problem later and as you can see, no answers...
I've found a workaround for me. I set in the server handler cookies with information, that I need and then read it in the client function and do appropriate action.
You can try, for example, after getting cookies on client side, send request to refresh page.

这篇关于asp.net AsyncFileUpload-显示上传文件列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆