【发布时间】:2017-06-14 09:18:25
【问题描述】:
使用 WebApi angularjs 项目并尝试删除函数为 `
[HttpDelete]
public String DeleteCountry(string cntryId)
{
if (cntryId != null)
{
return repoCountry.DeleteCountry(Convert.ToInt32(cntryId));
}
else
{
return "0";
}
}
js函数是
$http({
method: "delete",
url: '/api/Country/DeleteCountry/',
dataType: "json",
data: { cntryId: cntryId }
}).then(function (response) {});
我在这里遇到异常
{"Message":"The requested resource does not support http method 'DELETE'."}
插入、更新和获取功能正常工作。提供解决方案以及为什么仅删除会发生这种情况
【问题讨论】:
-
您可以尝试删除“数据”对象并将 cntryId 附加到 url 吗?我的猜测是 ASP.NET 路由正在尝试查找没有参数的 HttpDelete 操作(因为 url 中没有)。
-
该参数没有标记为[FromBody],所以如果我没记错的话必须放在URL中。
-
@Gusman 没错,默认情况下,绑定会从 URL 查询参数中查找“简单”类型。
标签: c# angularjs asp.net-web-api asp.net-web-api-routing