As Ross has said, you can only return one response to a HTTP request.
What i do in that case is:
- Send the request to the server
- The server generates the file and stores it in some server side data structure (Cache, Usersession, TempData)
- The server returns a
RedirectToAction()
(POST, REDIRECT, GET pattern) - The redirected action returns a View with some javascript which
- Triggers the download of the pregenerated file by setting
window.location.href
property to an special download action which sends the file back to the browser