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


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

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

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

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

они отличаются?

2 68

2 ответа:

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

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