Nim*_*hew 3 c# asp.net asp.net-core angular
我想将对象内的整数列表发送到 C# 中的 POST API。这就是我正在做的:
const headers = new HttpHeaders().append(
"Content-Disposition",
"multipart/form-data"
);
let formData: FormData = new FormData();
formData.append("name", "name");
formData.append("Ids", JSON.stringify(Ids));
return this._http.post(
`${environment.baseUrl}${this.companyApiUrl}`,
formData,
{ headers: headers }
);
Run Code Online (Sandbox Code Playgroud)
Ids类型在哪里number[]。
以下是 C# WebAPI:
public ActionResult<MyModel> Post([FromForm] MyModel model)
{
...
}
Run Code Online (Sandbox Code Playgroud)
MyModel:
public class MyModel
{
public string Name { get; set; }
public List<int> Ids { get; set; } // I have also tried int[]
}
Run Code Online (Sandbox Code Playgroud)
我从 Web API 收到以下错误:
{“Ids”:[“值'[5,6,7]'无效。”]}
我该如何实现这一目标?Ids我想将in的类型保留MyModel为List<int>or int[](直接发送 Id,而不在服务器中进行 JSON 解析)。
为了允许ASP.NET Core模型绑定器绑定数组,您需要使用相同的参数名称多次添加数组值
let formData: FormData = new FormData();
formData.append("name", "name");
for(let i = 0; i < Ids.length; i++) {
formData.append("Ids", Ids[i]);
}
Run Code Online (Sandbox Code Playgroud)