【发布时间】:2018-05-16 13:13:17
【问题描述】:
当方法从非 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
}
【问题讨论】:
-
如果不是 Ajax 调用,这对您的应用意味着什么?如果是错误则返回错误响应,否则返回 Ok()。
-
[AjaxOnly] 将过滤所有其他调用,并且仅当请求是 Ajax 调用时才会调用。所以你已经解决了这个问题。其他所有请求都不会到达此方法。
标签: c# asp.net ajax asp.net-ajax