我正在尝试在uploadFile期间向用户显示进度条。我可以通过下面的方法获得后端的百分比,但是我无法打印e.PercentageProgress返回的百分比以显示给用户。
static void UploadDownloadProgress(Object sender, FileDataTransferEventArgs e)
{
// Need to show this on a label or return to front end somehow
System.Diagnostics.Debug.WriteLine(e.PercentageProgress);
e.Cancel = false;
}
问题是我怎样才能让e.PercentageProgress在aspx页面上显示或者在javascript中使用它?
答案 0 :(得分:0)
尝试这样的事情:
public class ProgressInformer {
public static string Progress = "0";
static void UploadDownloadProgress(Object sender, FileDataTransferEventArgs e)
{
// print a dot
System.Diagnostics.Debug.WriteLine(e.PercentageProgress);
// Need to show this on a label or return to front end somehow
ProgressInformer.Progress = e.PercentageProgress.ToString();
e.Cancel = false;
}
}
现在,由于您要使用值设置静态变量,因此可以从其他位置访问它。然后,您可以使用该值在前端使用某种方法或服务进行回显。可能是这样的:
public string EchoToFrontEnd()
{
return ProgressInformer.Progress;
}
限制:如果这对您有用,那么此解决方案仍不是线程安全的。这意味着,您无法回显多次下载的进度。您一次只需要下载一次。
希望这有助于......!