public class CustomResultAttribute : FilterAttribute, IResultFilter
{
public void OnResultExecuted(ResultExecutedContext filterContext)
{}
public void OnResultExecuting(ResultExecutingContext filterContext)
{}
}
public class CustomActionAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutedContext filterContext)
{}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.Result = new ViewResult { ViewName = "NotIndex" };
}
}
[CustomResult]
[CustomAction]
public ActionResult Index()
{
return View();
}
据我了解,结果过滤器应该只包含对操作方法产生的结果进行操作的逻辑(因此我们应用于CustomResult
特定操作方法的原因)。
所以我不明白为什么在处理时也会调用结果过滤器NotIndex
,因为NotIndex
不是由Index
操作方法产生的?
谢谢