Puedo decir que sé la respuesta a esto pero tengo que preguntar porqué usted necesitaría hacer esto vía webmethod cuando un acontecimiento regular del lado de servidor daría lugar probablemente a la misma experiencia de UI.
Éste es cómo lo hago:
en un acontecimiento del tecleo del botón:
Response.Clear ();
Response.ClearHeaders ();
Response.ContentType = “uso/pdf”;
//can también esté “en línea” en vez del “accesorio” exhibir inmediatamente
Response.AddHeader (“Contenido-Disposición”, “accesorio; filename=DefaultSaveName.pdf”);
//you podía también copiar octetos a Response.OutputStream
Response.WriteFile (@ " C:\blah\pdf\mypdf.pdf ");
Response.End ()
Esto da lugar a ninguÌn flash o parpadeo visible en el hojeador así que no estoy seguro qué ajax le compra aquí.
Si usted puede hacerlo la manera del ajax por favor para fijar cómo. Soy curioso cómo usted conseguirá alrededor de la seguridad del hojeador.