GET和POST到ASP.NET MVC中相同的控制器操作

我希望有一个单独的行动,以及post回应。 我尝试了以下

[HttpGet] [HttpPost] public ActionResult SignIn() 

这似乎没有工作。 有什么build议么 ?

这可以使用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) { }