GetsとPostsの両方に単一のアクションを応答させたいのですが。私は次を試しました
[HttpGet]
[HttpPost]
public ActionResult SignIn()
それはうまくいかないようでした。助言がありますか ?
これはAcceptVerbs属性を使用して可能です。少し冗長ですが、より柔軟です。
[AcceptVerbs(HttpVerbs.Get|HttpVerbs.Post)]
public ActionResult SignIn()
{
}
msdn の詳細。
アクションはデフォルトでGETとPOSTの両方に応答するため、何も指定する必要はありません。
public ActionResult SignIn()
{
//how'd we get here?
string method = HttpContext.Request.HttpMethod;
return View();
}
必要に応じて、HttpContext.Request.HttpMethod値を操作することにより、HttpMethodに応じて異なるロジックを実行できます。
[HttpGet]
public ActionResult SignIn()
{
}
[HttpPost]
public ActionResult SignIn(FormCollection form)
{
}