It depends on your program design first. You can issue a postback to the server, and reload the page, while sending the file down to the browser, if the user clicks ok on the download, or you can do it on the client side using javascript, in which the page stays intact, and javascript intializes the download. I use the javascript method now. I see no reason to issue a postback, even if it's async. Javascript window.open(url to file);