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

luc*_*nte 4 c# asp.net-mvc asp.net-mvc-5

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

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

所以如果调用是GET和,我希望这种方法以两种不同的方式处理POST.

我试过了 :

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

[HttpPost]
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // Do nothing
}
Run Code Online (Sandbox Code Playgroud)

但它确实有效.我找不到IsPostBackWebFroms中的Property .

Cri*_*ris 8

ActionExecutingContext有一个HttpContext属性.从那里,您可以获得Request拥有HttpMethod酒店的物业

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