Итак, я пошел с $ .post из обработчика кликов.У меня проблема в том, что я не уверен, что делать в моем успехе: функция (), чтобы вернуть пользователю результат файлового потока.Или даже если смогу.
Точно.Вы не можете многое сделать с полученным байтом в javascritpt: очевидно, вы не можете сохранить его на клиентском компьютере или передать его какой-либо внешней программе на клиенте.Поэтому не вызывайте действия, которые должны возвращать файлы с использованием AJAX.Для этих действий вы должны использовать обычные ссылки:
@Html.ActionLink("download file", "download", new { id = 123 })
и позволить пользователю решать, что делать с файлом.Вы можете поиграть с заголовком Content-Disposition
и установить для него inline
или attachment
в зависимости от того, хотите ли вы, чтобы файл открывался с помощью связанной по умолчанию программы в браузере, или предлагал пользователю диалог сохранения файла.1011 *
ОБНОВЛЕНИЕ:
Кажется, я неправильно понял вопрос.Если вы хотите добавить параметры к существующей ссылке, вы можете подписаться на событие click в javascript и изменить href, добавив необходимые параметры в строку запроса:
$(function() {
$('#mylink').click(function() {
var someValue = 'value of parameter';
$(this).attr('href', this.href + '?paramName=' + encodeURIComponent(someValue));
return true;
});
});