代码改变世界

MVC 中的几个事件

2012-06-15 22:09  shy_carson  阅读(251)  评论(0)    收藏  举报

public class MyFilterAttribute : ActionFilterAttribute
    {
        public string Message { get; set; }

        //Aciton 执行之前来执行当前的代码
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            filterContext.HttpContext.Response.Write(@"<br />Before Action execute" + "\t " + Message);
        }

        public override void OnActionExecuted(ActionExecutedContext filterContext)
        { //在Action执行之后执行 输出到输出流中文字:After Action execute xxx
            filterContext.HttpContext.Response.Write(@"<br />After Action execute" + "\t " + Message);
            base.OnActionExecuted(filterContext);
        }

        public override void OnResultExecuted(ResultExecutedContext filterContext)
        { //在Result执行之后
            filterContext.HttpContext.Response.Write(@"<br />After ViewResult execute" + "\t " + Message);
            base.OnResultExecuted(filterContext);
        }

        public override void OnResultExecuting(ResultExecutingContext filterContext)
        { //在Result执行之前
            filterContext.HttpContext.Response.Write(@"<br />Before ViewResult execute" + "\t " + Message);
            base.OnResultExecuting(filterContext);
        }

    }