在OnActionExecuting期间处理不同的GET和POST

时间:2014-03-05 08:36:11

标签: c# asp.net-mvc asp.net-mvc-5

OnActionExecuting方法期间,进行了一些处理,这可能导致重定向到主页。

但是在Ajax POST调用中,这些处理肯定会失败。来自Kendo UI的网格进行调用,因此我无法控制它们。

因此,如果调用是GETPOST,我希望以两种不同的方式处理此方法。

我试过了:

[HttpGet]
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // Do something
}

[HttpPost]
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // Do nothing
}

但确实有效。 我在WebFroms中找不到像IsPostBack这样的属性。

1 个答案:

答案 0 :(得分:8)

ActionExecutingContext具有HttpContext属性。从那里,您可以获得Request属性,该属性具有HttpMethod属性

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
   if(filterContext.HttpContext.Request.HttpMethod == "POST")
   {
      // Do nothing
   }
   else
   {
       //Do Something
   }
}