Я могу сказать я знает ответ к этому но я должен спросить почему вам было бы нужно сделать это через webmethod когда регулярно случай стороны сервера вероятн привел бы к в таком же опыте UI.
Это как я делаю его:
в случае щелчка кнопки:
Response.Clear ();
Response.ClearHeaders ();
Response.ContentType = «применение/PDF»;
//can также «встроенно» вместо «приложения» для того чтобы показать немедленно
Response.AddHeader («Содержани-Решение», «приложение; filename=DefaultSaveName.pdf»);
//you smogло также скопировать байты к Response.OutputStream
Response.WriteFile (@ " C:\blah\pdf\mypdf.pdf ");
Response.End ()
Это приводит к в никаких видимых вспышке или фликере в браузере поэтому я не уверен что ajax покупает вас здесь.
Если вы можете сделать его дорога ajax пожалуйста для того чтобы вывесить как. Я любознательон как вы получите вокруг обеспеченности браузера.