Вы не можете использовать AJAX для загрузки файлов. Причина этого в том, что javascript не позволяет вам сохранять загруженный контент на клиентском компьютере или запрашивать диалог «Сохранить как». Вы должны использовать простой HTML <form>
или якорь:
@using (Html.BeginForm("CreatePDF", "Document", FormMethod.Post, new { id = "myform" }))
{
<button type="submit">Download</button>
}
Если вам необходимо передать аргументы этому действию контроллера, которые известны только клиенту, вы можете подписаться на событие .submit
этой формы, а затем динамически внедрить в него скрытые поля с соответствующими значениями, а затем оставить действие по умолчанию. выполнить. И если значения известны на стороне сервера, вы должны просто использовать HTML-помощники для генерации этих скрытых полей.