Bezdepbonusu7Программирование: статьи и ответы

Вопрос

У функции jQuery HTML Button возникают проблемы с MVC FileResult

Автор вопроса: Aaron SalazarОтветов: 1

Я намеревался, чтобы эта функция вызывала мой метод действия MVC, возвращающий отчет в формате CSV.

$(function() {
    $('#exportButton').click(function() {
        $.get('/curReport/GetCSVReport');
    });
});

Если я создам кнопку, подобную приведенному ниже коду, то при нажатии на нее появится окно "Открыть с помощью/Сохранить файл".

<input type="button" value="Export" onClick="location.href='CurReport/GetCSVReport'">

Однако, когда я меняю свою кнопку, чтобы использовать мою функцию jQuery, тогда, хотя GetCSVReport() вызывается, мне не предоставляется окно "Открыть с помощью/Сохранить файл".

Вот мой GetCSVReport()

public FileResult GetCSVReport()
{
    ...
    return fileResult;
}

Как я могу заставить свою функцию jQuery работать как onClick?

Спасибо,

Аарон

javascriptjquerymodel-view-controller

Ответы

Ответ 1 · рейтинг 8 · Kobi

Используйте тот же код, который вы использовали ранее:

$(function() {
    $('#exportButton').click(function() {
        location.href = 'CurReport/GetCSVReport';
    });
});

get запускает вызов Ajax, который вам здесь не нужен. Вы используете jQuery для привязки события, но действие остается прежним.

Чтобы добавить параметры строки запроса, используйте:

location.href = 'CurReport/GetCSVReport?filter=' + escape(val);

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы