1

我想将 DELETE HTTP 动词与 MVC 剃须刀一起使用,但找不到这样做的方法。我尝试使用表单

@foreach (var result in Model.Results)
{
  <li>
    <form action="@result.DeleteUrl" method="POST">
      <input name="X-HTTP-Method-Override" type="hidden" value="DELETE" />
      <input type="submit" value="Delete"/>
    </form>)
  </li>
}

[Route("/results/{Id}", "POST,DELETE")]
  public class Result
  {
    public string Id { get; set; }

    public string DeleteUrl
    {
      get
      {
        return "/results/{0}".Fmt(Id);
      }
    }

    public Result() { }
    public Result(string id)
    {
      Id = id;
    }
  }

  public class ResultsService : Service
  {
    public object Delete(Result request)
    {
      // TODO: Never called!
      return null;
    }
  }

这仍然不会在我的服务上调用我的 Delete 回调。我已经看到http://razor-console.servicestack.net/rockstars示例使用带有删除 url 的 GET 来删除其项目!POST 工作正常,但我想使用 DELETE。

谢谢,

马丁

4

1 回答 1

2

我在 ServiceStack Google Group 中询问过这个问题。https://groups.google.com/forum/?fromgroups=#!topic/servicestack/HY-dCjgq2Pw

ServiceStack 目前似乎不支持您在表单中尝试执行的操作。

于 2013-02-22T19:41:45.080 回答