asp.net mvc - [HttpPost / HttpGet]与[AcceptVerbs(HttpVerbs.Post/Get)]

时间:2011-01-20 08:43:57

标签: asp.net-mvc

这些东西是一样的吗?

[HttpPost/HttpGet] vs. [AcceptVerbs(HttpVerbs.Post/Get)]

如果没有区别的话?

2 个答案:

答案 0 :(得分:55)

是的,绝对一样。在ASP.NET MVC 2中引入了[HttpPost/HttpGet]以减少我们必须键入的键击:-) [AcceptVerbs(HttpVerbs.Post/Get)]仍然可以使用并且行为相同,但如果您正在编写新代码,我会推荐第一个。

答案 1 :(得分:22)

是的它们是相同的,但是对于较新的版本,您只能通过一个动词接受请求。使用[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get | HttpVerbs.Delete)]您可以接受2个或更多。您也可以使用[AcceptVerbs]接受不属于HttpVerbs枚举的其他动词 - 例如。 [AcceptVerbs("Trace")]

我不确定为什么你需要使用这个功能,但你可以随意使用。