无法从后面的AsyncFIleUpload.OnUploadCompleted代码访问.NET控件

时间:2011-06-06 11:01:03

标签: .net asyncfileupload

我正在使用AJAX Toolkit AsyncFileUpload,如下所示......

        <p>
            <asp:Label runat="server" Text="Choose a webstock file to upload..." ID="uploadResult" />
            <asp:Button ID="btnImport" Text="Import Data to Website &raquo;" OnClick="importData" runat="server" Visible="false" />
        </p>
        <asp:AsyncFileUpload  ID="afuStockImport"  runat="server" 
                OnUploadedComplete="uploadComplete"               
                OnClientUploadError="uploadError" 
                OnClientUploadStarted="StartUpload" 
                OnClientUploadComplete="UploadComplete" 
                Width="400px" 
                UploaderStyle="modern"   
                UploadingBackColor="#b9b9b9" 
                CompleteBackColor="#00FF00"
                ErrorBackColor="#FF0000"
                ThrobberID="myThrobber" 
                ClientIDMode="AutoID"/>
        &nbsp;       
        <asp:Label runat="server" ID="myThrobber" style="display:none;" >  
            <img align="absmiddle" alt="" src="adminimages/uploading.gif" />  
        </asp:Label>  

我正在尝试访问btnImport控件,使其在上传成功时可见,但是从后面的代码中的uploadComplete过程访问它什么都没做....

        protected void uploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
    {
        try
        {
            //upload file to web file system
            System.Threading.Thread.Sleep(5000);
            if (afuStockImport.HasFile)
            {
                string strPath = Server.MapPath("~/admin/stockfiles/") + Path.GetFileName(afuStockImport.PostedFile.FileName);
                afuStockImport.SaveAs(strPath);
                btnImport.Visible = true;
            }
        }
        catch (Exception ulEx)
        {
            //Error message
        }
    }

任何帮助将不胜感激。

干杯, 本

1 个答案:

答案 0 :(得分:0)

实际上您可以访问该按钮,但您的更改不会作为异步执行的uploadComplete方法应用。 在我看来,最好使用style =“display:none;”来隐藏btnImport,在成功上传文件后处理AsyncFileUpload的客户端OnClientUploadComplete事件和show按钮。