Ich kann eine Aktion entweder mit [AcceptVerbs (HttpVerbs.Post)] / [AcceptVerbs (HttpVerbs.Get)] dekorieren.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(string title)
{
// Do Something...
}
oder mit den Attributen [HttpPost] / [HttpGet]
[HttpPost]
public ActionResult Create(string title)
{
// Do Something...
}
Sind sie unterschiedlich?
asp.net-mvc
asp.net-mvc-2
http-post
http-get
Lorenzo
quelle
quelle
[AcceptVerbs("GET")]
ein Eintrag für diese Aktion in den Hilfedokumenten nicht mehr generiert werden kann.Antworten:
Nichts. Eins ist nur eine Abkürzung für das andere.
quelle
[HttpPost]
ist eine Abkürzung für[AcceptVerbs(HttpVerbs.Post)]
. Der einzige Unterschied besteht darin, dass Sie nicht[HttpGet, HttpPost]
(und ähnliche) zusammen für dieselbe Aktion verwenden können. Wenn Sie möchten, dass eine Aktion sowohl auf GETs als auch auf POSTs reagiert, müssen Sie diese verwenden[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
.quelle
AcceptVerbs
Attribut verwendet einen einzelnen Flags-Parameter. Sie setzen mehrere Flags, indem Sie sie ordnen.[HttpPost]
ist nur eine Abkürzung für[AcceptVerbs(HttpVerbs.Post)]
Es gibt keinen Mechanismus für OR-Flags zusammen, wenn Sie die Kurzschrift verwenden. Aus diesem Grund gibt es AcceptVerbs immer noch (abgesehen von Gründen der Abwärtskompatibilität).