Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/09/2003, 11:23
JHS
 
Fecha de Ingreso: septiembre-2003
Mensajes: 6
Antigüedad: 21 años, 6 meses
Puntos: 0
Mira yo lo resolví asi:

1. Para abrir una nueva pagina no lo encontré desde .Net (no he buscado en el 2003), por lo tanto lo hice desde el cliente...
2. Como vas a abrir una nueva ventana necesitas que se comuniquen las dos, yo lo hice con variables Session y hago el proceso en esta ventana nueva.
3. Agrego el codigo para que no te quede basura en el servidor...

1. Para abrir una ventana nueva (hago click en uno de mis botones y en este lleno "txtenvia" con el valor "envia", como es un control de servidor el hace el PostBack, y por lo tanto hace que la página se lea nuevamente (onload) y hace que se jecute la función...

***************EN EL HTML **********************

<script language="javascript">
/*Función que siempre se esta leyendo desde el onload del body de html*/
function inicio()
{
if (salparametros.txtenvia.value == "envia")
{
salparametros.txtenvia.value = "";
AbrePDF();
}
}

/*Abre una ventana de acuerdo a lo que quiero*/
function AbrePDF()
{
var win = null;
h = 600;
w = 800;
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings = 'height='+h+',width='+w+',top='+TopPosition+',left ='+LeftPosition+',scrollbars=yes'
win = window.open('salpdf.aspx','',settings)
//window.open(,'Saldos','dependent=yes, width=730,height=430');
}
</script>

</HEAD>
<body scroll="no" onload="inicio()>

2. Las variables las defino el el global.asa... y hago el proceso en esta pantalla nueva

***************EN .NET **********************
private void Page_Load(object sender, System.EventArgs e)
{
if (IsPostBack)
{
HaceCosulta();
}

}


3. basura en el servidor
********** EN .NET ********************

sale = Session["sArchi"].ToString();

Response.ClearContent();
Response.ClearHeaders();
Response.WriteFile(sale);
Response.ContentType = "Application/x-msexcel";
Response.AddHeader ("content-disposition","attachment filename="+sale);
Response.WriteFile(sale);
//Response.Redirect(ssalida);
Response.Flush();
Response.Close();

System.IO.File.Delete(sale);


Espero que esto le ayude....