Данные не отправляются в правильном формате, чтобы содержимое правильно связывалось с действием
Сначала правильно составьте полезную нагрузку для публикации
var inputParams = { namex: "testdata" }; //<-- NOTE JavaScript
var xhr = $.ajax({
url: "/Test/MyFunction",
type: 'POST',
dataType: 'json',
data: JSON.stringify(inputParams), //<-- NOTE CONVERSION TO JSON
contentType: 'application/json; charset=utf-8',
success: function (msg) {
},
error: function (xhr) {
}
});
Затем создайте модель для хранить данные на стороне сервера
public class MyModel {
public string namex { get; set;}
}
Окончательно изменить рефакторинг действия для привязки к ожидаемым данным из тела запроса
[HttpPost]
public IActionResult MyFunction([FromBody]MyModel model) {
if(ModelState.IsValid) {
string namex = model.namex;
return Ok();
}
return BadRequest(ModelState);
}
Ссылка Привязка модели в ASP. NET Core