I can decorate an action either with the [AcceptVerbs(HttpVerbs.Post)]/[AcceptVerbs(HttpVerbs.Get)]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(string title)
{
// Do Something...
}
or with the [HttpPost]/[HttpGet] attributes
[HttpPost]
public ActionResult Create(string title)
{
// Do Something...
}
Are they different?
[HttpPost]
is shorthand for [AcceptVerbs(HttpVerbs.Post)]
. The only difference is that you can't use [HttpGet, HttpPost]
(and similar) together on the same action. If you want an action to respond to both GETs and POSTs, you must use [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
.