博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC之路随记1--Filter的应用
阅读量:6649 次
发布时间:2019-06-25

本文共 1708 字,大约阅读时间需要 5 分钟。

功能:MVC提供过滤器Filter,使开发者不用复杂的实现AOP而直接用Filter实现同样的功能.

实现:1.定义一个类实现ActionFilterAttribute,重载借口中的方法后在Controller或者Action上加上该特性即可

2.若是每个Action都要实现,则可以在全局文件中,在注册过滤器"RegisterGlobalFilters(GlobalFilters.Filters);"之前使用GlobalFilters.Filters.Add方法加入定义好的过滤对象的实现

例子:

1.先定义过滤器类

[AttributeUsage(AttributeTargets.All,AllowMultiple=true)]//此属性让他可以执行多次    public class DemoActionAttributeFileter : ActionFilterAttribute    {        public string strMsg { get; set; }        public override void OnActionExecuting(ActionExecutingContext filterContext)        {            filterContext.HttpContext.Response.Write("");            base.OnActionExecuting(filterContext);        }        public override void OnActionExecuted(ActionExecutedContext filterContext)        {            filterContext.HttpContext.Response.Write("");            base.OnActionExecuted(filterContext);        }    }

2.使用该特性

[MyMVC3Test.Filter.DemoActionAttributeFileter(strMsg = "hello")]    public class HomeController : Controller    {        [MyMVC3Test.Filter.DemoActionAttributeFileter(strMsg = "Actionhello")]        public ActionResult Index(string strHome)        {            ViewBag.Message = "欢迎使用 ASP.NET MVC----"+strHome;            ViewBag.Msg = "hehe";            return View();        }        public ActionResult About()        {            return View();        }    }

3.全局过滤器使用

protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            GlobalFilters.Filters.Add(new MyMVC3Test.Filter.DemoActionAttributeFileter(){strMsg="全局"});            RegisterGlobalFilters(GlobalFilters.Filters);            RegisterRoutes(RouteTable.Routes);        }

 

转载于:https://www.cnblogs.com/fanglorry/p/4498179.html

你可能感兴趣的文章
挂载ISO文件
查看>>
DataGridView 经典用法总结(一)
查看>>
Java并发显式锁和显式条件队列
查看>>
云OS可国产替代
查看>>
try-catch 能否监听多线程中的错误?
查看>>
Android使用Token 实现单点登录
查看>>
模拟器可以,但是真机却不行
查看>>
CSS: hover选择器的使用
查看>>
Java消息服务
查看>>
Grid列拖拽、列选择、显示行号
查看>>
自定义的allocator
查看>>
浅谈CSRF漏洞
查看>>
JS----基本数据类型
查看>>
明天考前突击
查看>>
Android中的Handler的机制与用法详解
查看>>
【算法学习笔记】18.暴力求解法06 隐式图搜索2 八数码问题 未启发
查看>>
「小程序JAVA实战」运行微信官方demo(四)
查看>>
jqGrid基本用法与示例
查看>>
spring @Bean注解的使用
查看>>
Vmware Workstation及Centos6.8 的安装
查看>>