2009-11-17 64 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

相關問題