【问题标题】:How can I check if a controller was called using post or get?如何检查是否使用 post 或 get 调用了控制器?
【发布时间】:2009-11-15 16:10:40
【问题描述】:

在 ASP.Net MVC 中,我如何检查控制器方法,如果它是使用 post 或 get 调用的?

我知道我可以将方法限制为仅通过 post 或 get 调用 - 但如何在允许两者的方法中检查 post/get?

【问题讨论】:

    标签: asp.net-mvc controller


    【解决方案1】:
    ControllerContext.HttpContext.Request.HttpMethod
    

    或者只是

    Request.HttpMethod 
    

    在控制器中

    【讨论】:

    • 请注意,如果您使用它来强制操作方法只接受特定方法,则可以改用[HttpPost][HttpGet] 属性,这样更清晰、更简洁,并且更可靠(这会在使用错误的方法时导致服务器错误,例如“此请求已被阻止,因为在 GET 请求中使用此敏感信息可能会泄露给第三方网站”。)
    【解决方案2】:

    您可以查看Request.HttpMethod 属性。

    【讨论】:

      【解决方案3】:

      我也使用这个组合来签入视图

      var method = Request.HttpMethod;
      
      if (Request.HttpMethod == "POST") {
          var check = "";
      }
      
      if (Request.HttpMethod == "GET") {
          var check = "";
      }
      

      【讨论】:

        猜你喜欢
        • 2014-11-23
        • 2011-05-21
        • 2021-09-22
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        • 2017-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多