首页 > 解决方案 > 如何忽略自定义属性中方法的执行?

问题描述

当方法不是从 ajax 执行时,我什么都不用做。我知道如何检测 ajax 请求,但我不知道我应该返回什么来忽略。

public class AjaxOnlyAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!filterContext.HttpContext.Request.IsAjaxRequest())
        {
             filterContext.Result = ???;
        }
    }
}

    [AjaxOnly]
    public async Task<ActionResult> AjaxOnlyMethod()
    {
        //This is method should be ignore if not ajax request
    }

标签: c#asp.netajaxasp.net-ajax

解决方案


试试这个,我认为您可以重定向到其他一些操作方法,例如如果请求是 Ajax,则返回错误视图的方法

喜欢

filterContext.Result = new RedirectToRouteResult(
                                new RouteValueDictionary(new { action = "SomeOtherActionMethodName" }));

推荐阅读