C# ASP.NET MVC: Find out whether GET or POST was invoked on controller action

前端 未结 3 1669
轮回少年
轮回少年 2021-02-19 09:28

How do I find out whether a GET or a POST hit my ASP.NET MVC controller action?

相关标签:
3条回答
  • 2021-02-19 09:48

    You can separate your controller methods:

    [AcceptVerbs(HttpVerbs.Get)]
    public ViewResult Operation()
    {
       // insert here the GET logic
       return SomeView(...)
    }
    
    
    [AcceptVerbs(HttpVerbs.Post)]
    public ViewResult Operation(SomeModel model)
    {
       // insert here the POST logic
       return SomeView(...);
    }
    
    0 讨论(0)
  • 2021-02-19 10:05

    You can also use the ActionResults For Get and Post methods separately as below:

    [HttpGet]
    public ActionResult Operation()
    {
    
       return View(...)
    }
    
    
    [HttpPost]
    public ActionResult Operation(SomeModel model)
    {
    
       return View(...);
    }
    
    0 讨论(0)
  • 2021-02-19 10:07

    You can check Request.HttpMethod for that.

    if (Request.HttpMethod == "POST") {
        //the controller was hit with POST
    }
    else {
        //etc.
    }
    
    0 讨论(0)
提交回复
热议问题