我有一个ASP.NET MVC应用程序。 我有单一的函数模式,这将被称为与HTTP POST和HTTP DELETE。ASP.NET MVC HTTP Post/Delete
虽然调用Post,但绝不会调用Delete。我确认IIS接受HTTP删除。任何意见?
路线和控制器:
routes.MapHttpRoute(
name: "RegisterCard",
routeTemplate: "{version}/cards/{cardID}",
defaults: new { Controller = "MyController", Action = "
routes.MapHttpRoute(
name: "UnregisterCard",
routeTemplate: "{version}/cards/{cardID}",
defaults: new { Controller = "MyController", Action = "Delete" });
[HttpPost]
public async Task<HttpResponseMessage> Post(string version, string cardID);
{
}
[HttpDelete]
public async Task<HttpResponseMessage> Delete(string version, string cardID);
{
}
您正在使用哪个浏览器? IE 8和9不会很好地执行AJAX DELETE/PUT。尝试在请求中添加“X-HTTP-Method-Override:Delete”标题并使用POST。这会触发行动吗? – SimonGoldstone
检查这个答案,并通过您的配置文件 http://stackoverflow.com/questions/10906411/asp-net-web-api-put-delete-verbs-not-allowed-iis-8 –