MVC——ActionFilterAttribute
2016-10-13 16:13
337 查看
MVC的Action执行前后,有四个事件,可以override,已达到一些特殊的处理需求
自定义特性
控制器
自定义特性
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Web; using System.Web.Mvc; namespace Gzh.MvcWeb.Utility.Filter { public class MyActionFilterAttribute : ActionFilterAttribute { /* 在MVC的Action执行前后,有四个事件,可以override OnActionExecuting 在action method调用前发生。 OnActionExecuted 在action method调用后发生, 但是在result执行前发生 (在 view 呈现前) OnResultExecuting 在result执行前发生(在view 呈现前) OnResultExecuted 在result执行后发生(在view 呈现后) */ private Stopwatch timer = new Stopwatch(); public override void OnActionExecuting(ActionExecutingContext filterContext) { string UserAgent = filterContext.HttpContext.Request.UserAgent.ToString(); filterContext.HttpContext.Response.Write("<div>" + UserAgent + "</div>"); } public override void OnActionExecuted(ActionExecutedContext filterContext) { filterContext.HttpContext.Response.Write("end"); } public override void OnResultExecuting(ResultExecutingContext filterContext) { timer.Start(); filterContext.HttpContext.Response.Write("<div>这里是OnResultExecuting</div>"); } public override void OnResultExecuted(ResultExecutedContext filterContext) { timer.Stop(); string message = string.Format("<div>这里是OnResultExecuted: {0}</div>", timer.ElapsedMilliseconds); filterContext.HttpContext.Response.Write(message); } } }
控制器
using Gzh.MvcWeb.Utility.Filter; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Gzh.MvcWeb.Controllers { public class TestController : Controller { [MyActionFilterAttribute] public ActionResult Index() { return View(); } } }
相关文章推荐
- asp.net MVC利用ActionFilterAttribute过滤关键字的方法
- How to use Asp.Net Mvc ActionFilterAttribute for form authentication
- ASP.NET MVC 利用ActionFilterAttribute来做权限等
- MVC中ActionFilterAttribute用法并实现统一授权
- MVC中利用ActionFilterAttribute过滤关键字
- asp.net mvc 5 利用ActionFilterAttribute实现权限过滤
- 创建一个ASP.NET MVC OutputCache ActionFilterAttribute
- mvc 4 ActionFilterAttribute 特性,进行权限验证
- ASP.NET MVC 利用ActionFilterAttribute来判断用户是否登陆等等
- ASP.NET MVC 利用ActionFilterAttribute来做权限等
- Asp.net mvc:使用ActionFilterAttribute记录操作日志
- ASP.NET MVC ActionFilterAttribute的执行顺序
- MVC中使用ActionFilterAttribute全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
- ASP.NET MVC 利用ActionFilterAttribute来做权限等
- mvc通过ActionFilterAttribute做登录检查
- Minify Action Filter Attribute in ASP.NET MVC
- MVC 自定义拦截器 IActionFilter(或ActionFilterAttribute)、IExceptionFilter(或HandleErrorAttribute)
- MVC中利用ActionFilterAttribute过滤关键字
- MVC中利用ActionFilterAttribute过滤关键字
- MVC 过滤器 ActionFilterAttribute