void XhrComplete()
{
var filesInQueue = int.Parse(Request.QueryString["queue"] ?? "0");
var filesUploaded = int.Parse(Request.QueryString["uploaded"] ?? "0");
var reason = Request.QueryString["reason"];
AjaxFileUploadCompleteAllReason completeReason;
switch(reason) {
case "done":
completeReason = AjaxFileUploadCompleteAllReason.Success;
break;
case "cancel":
completeReason = AjaxFileUploadCompleteAllReason.Canceled;
break;
default:
completeReason = AjaxFileUploadCompleteAllReason.Unknown;
break;
}
var args = new AjaxFileUploadCompleteAllEventArgs(filesInQueue, filesUploaded, completeReason);
if(UploadCompleteAll != null)
UploadCompleteAll(this, args);
Response.Write(new JavaScriptSerializer().Serialize(args));
}