J'aimerais qu'une seule action réponde à la fois aux Gets et aux Posts. J'ai essayé ce qui suit
[HttpGet]
[HttpPost]
public ActionResult SignIn()
Cela ne semblait pas fonctionner. Aucune suggestion ?
Cela est possible en utilisant l'attribut AcceptVerbs. C'est un peu plus verbeux mais plus flexible.
[AcceptVerbs(HttpVerbs.Get|HttpVerbs.Post)]
public ActionResult SignIn()
{
}
Plus sur msdn .
Les actions répondent aux GET et aux POST par défaut, vous n'avez donc rien à spécifier:
public ActionResult SignIn()
{
//how'd we get here?
string method = HttpContext.Request.HttpMethod;
return View();
}
Selon vos besoins, vous pouvez toujours exécuter une logique différente en fonction de HttpMethod en opérant sur la valeur HttpContext.Request.HttpMethod.
[HttpGet]
public ActionResult SignIn()
{
}
[HttpPost]
public ActionResult SignIn(FormCollection form)
{
}