В моем 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 + '¶m2=' + 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. Почему?