2009-11-17 67 views
2

即时设置asp.net接受应用程序中的DELETE http动词。 然而,当我发送在asp.net mvc中允许RESTful DELETE方法?

"DELETE /posts/delete/1" 

我总是得到一个405方法不允许错误。我想看看标题:

Response Headers 
Cache-Control private 
Pragma No-Cache 
Allow GET, HEAD, OPTIONS, TRACE 
Content-Type text/html; charset=utf-8 
Server Microsoft-IIS/7.5, Private-Server 
Date Tue, 17 Nov 2009 18:30:31 GMT 
Content-Length 5590 

允许GET,HEAD,OPTIONS,TRACE

通知IIS7 Allow头,它仅允许GET HEAD OPTIONS和TRACE。我目前使用的[AcceptVerbs(HttpVerbs.Delete)]在我删除控制器(我认为这是一个由MVCContrib扩展,纠正我,如果我错了)

PS:我发送DELETE使用Javascript:

function _ajax_request(url, data, callback, type, method) { 
     if (jQuery.isFunction(data)) { 
      callback = data; 
      data = {}; 
     } 
     return jQuery.ajax({ 
      type: method, 
      url: url, 
      data: data, 
      success: callback, 
      dataType: type 
     }); 
    } 

和:

_ajax_request($(this).attr('href'), "", function(d) { alert("submit"); }, "json", 'DELETE'); 

谢谢您提前!

+0

检查[这个问题](http://stackoverflow.com/questions/46644/any-way-to-handle-put-and-delete-verbs-in-asp-net-mvc)。 – 2009-11-17 19:04:51

回答

1

MVC 2有这个内置的。你不需要它的MVCContrib。见HtmlHelper.HttpMethodOverrideHttpDelete

+0

我应该去为asp.net mvc 2,因为它仍处于测试阶段? :) – DucDigital 2009-11-17 19:34:28

+0

由你决定。我们有(尚未生产,但很快)。工作正常。 – 2009-11-17 19:44:35

相关问题