【问题标题】:asp.net AsyncFileUpload - show list of uploaded filesasp.net AsyncFileUpload - 显示上传文件的列表
【发布时间】:2011-07-26 07:07:38
【问题描述】:

我使用 ajaxtoolkit AsyncFileUpload,我想显示上传文件的列表、最后一个错误并处理转发器 itemCommand 以删除上传的文件。

<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 事件导致,但没有任何反应。

【问题讨论】:

    标签: asp.net ajax file-upload


    【解决方案1】:

    问题是OnUploadedComplete 事件是异步的,您不能对页面进行任何更改。我有such problem later,如您所见,没有答案...
    我找到了适合我的解决方法。我在服务器处理程序 cookie 中设置了我需要的信息,然后在客户端函数中读取它并执行适当的操作。
    例如,您可以尝试在客户端获取 cookie 后,发送请求刷新页面。

    【讨论】:

    • 我有完全相同的问题,我在这里偶然发现了你的答案。虽然我不想使用会话。
    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 2011-08-06
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多