Muh*_*laa 6 asp.net-mvc parameter-passing model-binding asp.net-web-api
我试图传递一个int数组但我无法获得webapi方法中的值
var postData = { "deletedIds": deletedIds };
$.ajax({
type: "DELETE",
traditional: true,
dataType: 'json',
contentType: 'application/json',
cache: false,
url: "/api/Management/Models",
data: JSON.stringify(postData),
success: ModelDeleted,
error: ModelNotDeleted
});
Run Code Online (Sandbox Code Playgroud)
在apiController中:
[HttpDelete]
public bool DeleteModel(int[] deletedIds)
{
return modelsRepository.DeleteModels(deletedIds);
}
Run Code Online (Sandbox Code Playgroud)
你的代码看起来很不错.请定义"deletedIds"对象的结构.一个建议是使用new Array()对象初始化deletedIds属性并删除JSON.stringify().这里也有类似的问题.
编辑
Web API支持以各种方式解析内容数据,但它不处理多个发布的内容值.您的问题的解决方案可能是创建一个具有int []类型属性的ViewModel.像下面的代码,
public class SimpleViewModel
{
public int[] deletedIds{ get; set; }
}
//Controller
[HttpDelete]
public bool DeleteModel(SimpleViewModel deletedIds)
{
return modelsRepository.DeleteModels(deletedIds.deletedIds);
}
Run Code Online (Sandbox Code Playgroud)
并将其用作参数类型.
| 归档时间: |
|
| 查看次数: |
9943 次 |
| 最近记录: |