ASP. NET Core jquery Параметры window.location не проходят - PullRequest
0 голосов
/ 26 февраля 2020

В моем cs html у меня есть кнопка ссылки (элемент управления) со следующим скриптом jquery, запускаемым при клике:

$('.content').on('click', 'a.export', function (e) {
    e.preventDefault();

    var idSelect = '';
    $('#ddlSelect option:selected').each(function () {
        idSelect += $('#ddlSelect')[0].value;
    });

    var idSelect2 = '';
    $('#ddlSelect2 option:selected').each(function () {
        idSelect2 += $('#ddlSelect2')[0].value;
    });

    var url = 'Home/Exports/' + 'param1=' + idSelect + '&param2=' + idSelect2;

    window.location = url;
});

это работает, как и ожидалось, и я получаю, например, url = 'Home / Spremljanja / Exports / param1 = 2019¶m2 = 743'

Теперь в моем контроллере Home есть действие для возврата файла:

[HttpGet]
public virtual IActionResult Exports(int param1, int param2)
{
    var path = _hostingEnvironment.ContentRootPath;
    var list = List(param1, param2);

    var file = new Document
    {
        Title = string.Format("Export bla bla - {0}.xlsx", DateTime.Now.ToString("dd.MM.yyyy")),
        Extension = ".xlsx",
        ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    };

    file.Contents = Backend.Helpers.Reports.Reports.Report1(path, list).ToArray();

    return File(file.Contents, file.ContentType, file.Title);
}

Now Независимо от того, какие значения параметров в URL, переданном через window.location , я всегда получаю и param1, и param2 = 0 в ActionResult. Почему?

1 Ответ

1 голос
/ 26 февраля 2020

Параметры вашего действия устанавливаются из правильных параметров строки запроса. Попробуйте использовать '?' вместо '/' в вашей инициализации URL, например: var url = 'Home / Exports?' + 'param1 =' + idSelect + '¶m2 =' + idSelect2; поэтому ваш URL выглядит так: url = 'Home / Spremljanja / Exports? param1 = 2019¶m2 = 743'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...