Escribí un script de descarga después de una maravillosa ayuda del desbordamiento de la pila el otro día. Sin embargo, ahora he encontrado que después de que el archivo se haya descargado, necesito volver a cargar la página para deshacerme de la plantilla de progreso en la página aspx. El código para eliminar la plantilla funcionó antes de agregarlo en el código de descarga.Actualización de la página después de la descarga de archivos
código para eliminar la plantilla progreso: upFinanceMasterScreen.Update();
He intentado llamar a poner esto antes y después de la redirección a los IHttpHandler
Response.Redirect("Download.ashx?ReportName=" + "RequestingTPNLeagueTable.pdf");
public class Download : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
StringBuilder sbSavePath = new StringBuilder();
sbSavePath.Append(DateTime.Now.Day);
sbSavePath.Append("-");
sbSavePath.Append(DateTime.Now.Month);
sbSavePath.Append("-");
sbSavePath.Append(DateTime.Now.Year);
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "application/pdf";
HttpResponse objResponce = context.Response;
String test = HttpContext.Current.Request.QueryString["ReportName"];
HttpContext.Current.Response.AppendHeader("content-disposition", "attachment; filename=" + test);
objResponce.WriteFile(context.Server.MapPath(@"Reports\" + sbSavePath + @"\" + test));
}
public bool IsReusable { get { return true; } }
Gracias por cualquier ayuda que puede proporcionar!
¡Gracias! No pensé que fuera posible, pero pensé que podría preguntar. – flyersun
Como no puede tener ambos en la misma página, ¿por qué no hacerlo usando dos páginas? Mi enfoque es actualizar y luego abrir otra página (usando JavaScript windows.open()) para manejar la descarga. Es posible que desee comprobar 'Page.ClientScript.RegisterStartupScript'. Espero que esto ayude a otros. – user3454439