javascript - 有没有办法将数组元素添加到 formData 对象,所以 net core [FromForm] 会正确反序列化它们?
问题描述
所以,我正在使用 feth api 来发帖,而且通常效果很好。但是我有一个问题,比如说我有以下两种模型:
public class Contact
{
public int Id { get; set; }
public string Name { get; set; }
public List<Phone> Phones { get; set; }
}
public class Phone
{
public string Number { get; set; }
public string Model { get; set; }
}
现在,我想从 html 表单创建一个 formData 对象,它可以很好地添加字符串和整数。但是当我这样做时:
var data = new formData(document.querySelector('form'));
let arr = [{
Number: "12345678"
},
{
Number: "87654321"
}
];
data.append('Phones', JSON.stringify(arr));
//OR
data.append('Phones', JSON.stringify(arr[0]));
data.append('Phones', JSON.stringify(arr[1]));
//OR
data.append('Phones[]', JSON.stringify(arr[0]));
data.append('Phones[]', JSON.stringify(arr[1]));
//OR
data.append('Phones[0]', JSON.stringify(arr[0]));
data.append('Phones[1]', JSON.stringify(arr[1]));
然后发布到这样的东西:
[HttpPost]
public ActionResult SaveContact([FromForm]Contact contact)
{
...
}
该对象按其应有的方式绑定,具有正确的 Id、Name 值,但 Phones 不包含任何内容。有没有人在这里有一些意见,它让我发疯。谢谢!
解决方案
推荐阅读
- excel - VBA:SendKey 保存 PDF
- c++ - 如何在需要使用 pair.second 作为参数进行搜索的对向量中使用 lower_bound (c++)?
- c++ - 在 C++ 中,是否可以通过使用模板为重载运算符提供参数?
- python-3.x - 什么是 SQL 代码的 python 等效项 - 'Select a,max(b) from table ...'
- powershell - 将 Powershell 脚本导出到 CSV 列
- excel - VBA,如何在清除作为现有宏一部分的另一个单元格后清除一个单元格
- python - 外观相同的 Python 数据帧并不相同
- python - 如何使用 python 在图中显示所有标签值?
- delphi - TIdHTTP:为 HTTP 请求选择传出 IP?
- c - 为什么在c中需要头文件