Design

Design
asp.net mvc

2017年4月8日 星期六

asp.net mvc 常用的ActionFilter

我們開發時常常需要再Action或Action後 進行一下邏輯處理 這時候我們就會用到我們的ActionFilter

在 ActionFilterAttribute 中有提供四個覆蓋方法
 OnActionExecuting – Action 之前執行
OnActionExecuted – Action 之後執行
OnResultExecuting – Action Result 之前執行
OnResultExecuted – Action Result 之後執行

 我們先建一個 class 去繼承 ActionFilterAttribute class 名稱規則就是 名稱+Attribute 例如下面
 public class DosomethingAttribute : ActionFilterAttribute
    {
        /// 
        /// Action 之前執行
        /// 
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //想做啥就做啥
        }
        /// 
        /// Action 之後執行
        /// 
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            //想做啥就做啥
        }
        /// 
        /// Action Result 之前執行
        /// 
        public override void OnResultExecuting(ResultExecutingContext filterContext)
        {
            //想做啥就做啥
        }
        /// 
        /// Action Result 之後執行
        /// 
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            //想做啥就做啥
        }
    }

再來例如我想再進入index action 引用 我就可以這樣使用

        [Dosomething]
        public ActionResult Index()
        {
            return View();
        }

沒有留言:

張貼留言