在ASP.NET Core控制器中,要接收通过FormData.append(key,value)添加的所有值,可以通过以下代码示例解决:
[HttpPost]
public IActionResult MyControllerAction([FromForm] MyViewModel model)
{
// 针对model中的属性进行处理
// ...
}
public class MyViewModel
{
public string Key1 { get; set; }
public string Key2 { get; set; }
// 添加其他属性,以匹配FormData中的键值对
}
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// 添加其他键值对
请注意,ViewModel中的属性名称应该与FormData中的键名称相对应。这样,在控制器中,模型绑定器就能够正确地将FormData中的键值对映射到ViewModel的属性上。
另外,还需要确保在Ajax请求中设置了正确的Content-Type头部,以便将数据作为FormData进行传递。
$.ajax({
url: '/api/mycontroller',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response) {
// 请求成功的处理
},
error: function(error) {
// 请求失败的处理
}
});
以上代码示例演示了如何在ASP.NET Core控制器中接收FormData.append()添加的所有值。