Поэтому я пытаюсь передать массив целых чисел моему контроллеру.
В моем вызове ajax, если я использую тип: 'GET', dataType: 'HTML', мой целочисленный массив не передается контроллеру.
Тот же самый вызов ajax работает, если я использую type: 'POST', dataType: 'JSON', но мне нужно вернуть частичное представление.
Есть идеи, пожалуйста?
Вот мой код:
Контроллер:
public ActionResult GetLaySimulation(int[] projectIDs)
{
var layList = LayHelper.GetLayObjects(projectIDs); //projectIDs = null if I have GET HTML in my ajax call.
return PartialView("_LaySimulation", layList);
}
Рабочий вызов ajax:
$.ajax({
url: '@Url.Action("GetLaySimulation", "Admin")',
type: 'POST',
data: { projectIDs: simulationIDs },
dataType: 'JSON',
success: function (result) {
hideLoader();
$("#lay-container").html(result);
},
error: function (err) {
hideLoader();
}
});
Что мне нужно:
$.ajax({
url: '@Url.Action("GetLaySimulation", "Admin")',
type: 'GET',
data: { projectIDs: simulationIDs },
dataType: 'HTML',
success: function (result) {
hideLoader();
$("#lay-container").html(result);
},
error: function (err) {
hideLoader();
}
});
******************** Редактировать *********************
Функция Javascript:
$("#lay-container").html("");
var simulationIDs = [];
var checkBoxes = $(".chk-export");
var showButton = false;
for (var i = 0; i < checkBoxes.length; i++) {
if ($(checkBoxes[i]).is(":checked") == true) {
simulationIDs.push($(checkBoxes[i]).attr("data-id"));
}
}
if (simulationIDs.length > 0) {
$(".btn-excel").fadeIn();
$("#lay-container").fadeIn();
showLoader();
$.ajax({
url: '@Url.Action("GetLaySimulation", "Admin")',
type: 'GET',
data: { projectIDs: simulationIDs },
dataType: 'HTML',
success: function (result) {
hideLoader();
$("#lay-container").html(result);
},
error: function (err) {
hideLoader();
}
});
}