Я могу украсить действие либо [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...
}
Они разные?
[AcceptVerbs("GET")]
может остановить создание записи для этого действия в справочной документации.Ответы:
Ничего. Одно просто сокращение для другого.
источник
[HttpPost]
это сокращение для[AcceptVerbs(HttpVerbs.Post)]
. Единственная разница в том, что вы не можете использовать[HttpGet, HttpPost]
(и аналогичные) вместе в одном действии. Если вы хотите, чтобы действие отвечало как на GET, так и на POST, вы должны использовать[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
.источник
AcceptVerbs
Атрибут принимает единственный параметр Flags. Вы устанавливаете несколько флагов, нажимая их.[HttpPost]
является просто сокращением для[AcceptVerbs(HttpVerbs.Post)]
Нет механизма, доступного для флагов ИЛИ вместе, если вы используете сокращение; вот почему AcceptVerbs все еще существует (помимо соображений обратной совместимости).