В чем разница между [AcceptVerbs (HttpVerbs.Post)] и [HttpPost]?

Я могу украсить действие либо с помощью [AcceptVerbs (HttpVerbs.Post)]/[AcceptVerbs (HttpVerbs.Get)]

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(string title)
{
    // Do Something...
}

или с атрибутами [HttpPost]/[HttpGet]

[HttpPost]
public ActionResult Create(string title)
{
    // Do Something...
}

Разные?

Ответ 1

Ничего. Один из них просто сокращен для другого.

Ответ 2

[HttpPost] является сокращением для [AcceptVerbs(HttpVerbs.Post)]. Единственное отличие состоит в том, что вы не можете использовать [HttpGet, HttpPost] (и подобное) вместе при одном и том же действии. Если вы хотите, чтобы действие отвечало как на GET, так и на POST, вы должны использовать [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)].