Я переношу свой проект MVC в Core, и мне было трудно исправить все старые вызовы ajax.
Я могу передать параметры модели и строки в контроллер, однако у меня не работают целые числа.
Я могу обернуть их в объект JSON в виде строкового параметра, такого как [FromBody]string objId
в контроллере, но затем мне нужно проанализировать int val из Json {'objId' : 1}
.
Есть ли способ, которым я могу избежать этого и просто передать int?
ниже код, который я пытаюсь
[HttpPost]
public JsonResult PassIntFromView([FromBody]int objId)
{
//DO stuff with int here
}
вот это JS.
var data = { "objId": 1};
$.ajax({
url: '@Url.Action("PassIntFromView", "ControllerName")',
data: JSON.stringify(data),
type: "POST",
dataType: 'JSON',
contentType: "application/json",
success: function(data) {
//do stuff with json result
},
error: function(passParams) {
console.log("Error is " + passParams);
}
});
objId
всегда равно 0 в контроллере.
Я пробовал это, не выполняя JSON.stringify(data)
, а также без результата.
Я также попробовал все различные варианты атрибутов формы.