我会直接回答这个问题: 我有一个问题从javascript传递到mvc控制器,并以正确的格式将其传递给提供的模型。这是代码(简化):
sender.js
let data = JSON.stringify({id:1, username: 'name'});
let request = new XMLHttpRequest();
request.open('POST', host);
request.setRequestHeader('Content-Type', 'application/json');
request.send(data);
控制器:
public class About : Controller {
[HttpPost]
public IActionResult GetData([FromBody]ModelDto data) {
var incommingData = data;
return View();
}
}
ModelDto.cs:
public class ModelDto {
public ModelDto() {}
public int Id {get; set;}
public string Username {get; set;}
}
问题是:显然模型是绑定的,但具有给定类型的默认值(给定示例为0和null)。亲切的问候。
答案 0 :(得分:0)
您要发送财产名称'姓名'但是接收了用户名'。
属性名称应匹配
答案 1 :(得分:0)
我已经快速创建了小解决方案并尝试重现您的问题,但一切都适合我,所以我猜问题不在您粘贴在问题中的代码中。
您的解决方案中是否定义了一些自定义绑定器?您可以查看请求的样子,例如在fiddler中吗?