Posso dire che conosco la risposta a questa ma devo chiedere perché dovreste fare questo via webmethod quando un evento normale del lato di assistente probabilmente provocherebbe la stessa esperienza di UI.
Ciò è come la faccio:
in un evento di scatto del tasto:
Response.Clear ();
Response.ClearHeaders ();
Response.ContentType = “applicazione/pdf„;
//can inoltre è “in linea„ anziché “il collegamento„ visualizzare immediatamente
Response.AddHeader (“Soddisfare-Disposizione„, “collegamento; filename=DefaultSaveName.pdf„);
//you ha potuto anche copiare i byte a Response.OutputStream
Response.WriteFile (@ " C:\blah\pdf\mypdf.pdf ");
Response.End ()
Ciò provoca nessun flash o luce intermittente visibile nel browser in modo da non sono sicuro che ajax lo compra qui.
Se potete farlo prego il senso del ajax per inviare come. Sono curioso come otterrete intorno alla sicurezza del browser.