GET and POST to same Controller Action in ASP.NET MVC
Solution 1:
This is possible using the AcceptVerbs attribute. Its a bit more verbose but more flexible.
[AcceptVerbs(HttpVerbs.Get|HttpVerbs.Post)]
public ActionResult SignIn()
{
}
More on msdn.
Solution 2:
Actions respond to both GETs and POSTs by default, so you don't have to specify anything:
public ActionResult SignIn()
{
//how'd we get here?
string method = HttpContext.Request.HttpMethod;
return View();
}
Depending on your need you could still perform different logic depending on the HttpMethod by operating on the HttpContext.Request.HttpMethod value.
Solution 3:
[HttpGet]
public ActionResult SignIn()
{
}
[HttpPost]
public ActionResult SignIn(FormCollection form)
{
}