http://msdn.microsoft.com/en-us/library/system.web.mvc.httpdeleteattribute.aspx 表示用于限制操作方法的属性,以便该方法仅处理HTTP DELETE请求。
但是,这究竟意味着什么 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()
}
答案 0 :(得分:5)
删除是HTTP verb,就像GET,PUT和POST一样。 This attribute restricts仅处理HTTP删除请求的操作方法。
通常将此视为RESTful Web服务的一部分。这使得HTTP请求将完全清楚地执行某种类型的删除。
您不能只链接到将执行HTTP删除的操作。浏览器中的链接通常会发出GET。我希望你点击该链接获得404.
答案 1 :(得分:0)
首先,您显示的所有视图代码都不是删除,也不会被视为HTTP DELETE动词。
您显示的控制器代码表示使用HttpDelete修饰的操作方法,这意味着此代码将在Delete请求上执行,其名称与操作名称相同。
它是如何知道的?
没有。您的View代码将具有类似HTTP.Post的链接,即HTTP.Delete链接,它将指向此操作