2012-01-05 175 views
2

http://msdn.microsoft.com/en-us/library/system.web.mvc.httpdeleteattribute.aspx 表示一個屬性,用於限制操作方法,以便該方法僅處理HTTP DELETE請求。什麼是HttpDelete屬性

但到底什麼意思例如 的mvc

@Html.ActionLink("delete", new {id= model.PrimaryKey})// 

那是一個刪除請求?如何將瀏覽器的區別

控制器

之間
@Html.ActionLink("gridDisplay", new {id= model.PrimaryKey})// 

[HttpDelete] //what is this how does it know? 
public action result delete() 
{ 
delete();//web service deletes something just go with me here 
} 
public action result gridDisplay() 
{ 
    return view() 
} 

回答

5

刪除是HTTP verb,就像GET,PUT和POST。 This attribute restricts該操作方法僅處理HTTP刪除請求。

將此視爲RESTful Web服務的一部分是很典型的。這明確表明HTTP請求將執行某種類型的刪除。

您不能只鏈接到將執行HTTP刪除的操作。瀏覽器中的鏈接通常會發出GET。我希望你能通過點擊該鏈接獲得404。

0

首先,您顯示的查看代碼都不是一個刪除,並且不會被視爲HTTP DELETE動詞。

您顯示的控制器代碼表示用HttpDelete修飾的操作方法,這意味着此代碼將在刪除請求上執行,並具有與操作名稱相同的名稱。

它是如何知道它的?

它沒有。您的查看代碼將具有類似HTTP.Post的鏈接,即將指向此操作的HTTP.Delete鏈接