asp.net mvc 过滤器ActionFilter
1、创建解决方案 MVCFilterDemo:1)MVCFilterDemo:空的MVC项目2)MVCFilter:C#类库项目
2、MVCFilter:需要引用下面两个dll1)System.掳姗浚瑙Web :直接右键添加引用,找到程序集里面的System.Web即可2)System.Web.Mvc:此项需要添加引吹涡皋陕用 -> 浏览 -> 找到创建MVCFilterDemo自动生成的目录:packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45 下面的dll
3、在MVCFilter项目中创建类MVCActionFilter,并引用using System.Diagnostics;using System.Web;using S烤恤鹇灭ystem.Web.Mvc;同时,继承ActionFilterAttribute,并 override 其四个虚方法
4、OnActionExecuting 方法测试代码如下:在进入Action,开始执行内部代码之前,由MVC框架自动执行
5、OnActionExecuted 方法测试代码如下:在进入Action 执行完代码,且在return之前,由MVC框架自动执行
6、OnResultExecuting方法测试代码如下:在执行Action return 之前,由MVC框架自动调用
7、OnResultExecuted 方法测试代码如下:在执行Action结果,结束Action之前,由MVC框架自动调用(在此处修改Controller中的变量,包括Session,不会输出到界面,相当于不会真的改变其值)
8、在MVCFilterDemo项目中创建HomeController:1)添加项目MVCFilter的引用2)在Index Action中书写测试代码如下
9、在Index View页面的测试代码如下
10、执行结果如下: