Значения параметров данных метода .ajax () не передаются в функцию C # в ядре asp.net 2.0. - PullRequest
0 голосов
/ 09 мая 2018

Я делаю очень простой ajax () метод вызов в asp.net core 2.0 . Это просто вызов функции контроллера из поля зрения. Он также передает значение, используя параметр data .

Функция C # вызывается, но параметр функции контроллера не получает значение .

код:

var idChecked = 5;
$.ajax({
    type: "POST",
    url: "/BlogCategory/UpdateBulkStatus",
    contentType: "application/json; charset=utf-8",
    data: '{"idChecked":"' + idChecked + '"}',
    dataType: "html",
    success: function (msg) {

    },
    error: function (req, status, error) {

    }
});

Функция контроллера

public string UpdateBulkStatus(string idChecked)
{
  return "abc";
}

enter image description here

Переменная idChecked всегда равна нулю.

Что не так? Тот же код работает на MVC 5, но не на ядре?

1 Ответ

0 голосов
/ 09 мая 2018

Данные, которые вы передаете, являются объектом, а не строкой, и механизм связывания "угадывает", откуда он поступает. Отметьте местоположение параметра для привязки, используя атрибут, и точно сопоставьте данные.

public string UpdateBulkStatus([FromBody]BulkStatus bulkStatus)
{
   return bulkStatus.idChecked;
}

public class BulkStatus
{
     public string idChecked {get;set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...