我正在使用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 »" 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"/>
<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
}
}
任何帮助将不胜感激。
干杯, 本
答案 0 :(得分:0)
实际上您可以访问该按钮,但您的更改不会作为异步执行的uploadComplete方法应用。 在我看来,最好使用style =“display:none;”来隐藏btnImport,在成功上传文件后处理AsyncFileUpload的客户端OnClientUploadComplete事件和show按钮。