2012-01-05 128 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链接