web-dev-qa-db-fra.com

Quelle est la différence entre [AcceptVerbs (HttpVerbs.Post)] et [HttpPost]?

Je peux décorer une action soit avec le [AcceptVerbs (HttpVerbs.Post)]/[AcceptVerbs (HttpVerbs.Get)]

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

ou avec les attributs [HttpPost]/[HttpGet]

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

Sont-ils différents?

76
Lorenzo

Rien. L'un est juste un raccourci pour l'autre.

54
Matthew Manela

[HttpPost] Est un raccourci pour [AcceptVerbs(HttpVerbs.Post)]. La seule différence est que vous ne pouvez pas utiliser [HttpGet, HttpPost] (Et similaire) ensemble sur la même action. Si vous souhaitez qu'une action réponde à la fois aux GET et aux POST, vous devez utiliser [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)].

187