asp.net mvc 过滤器ActionFilter

2025-07-27 18:34:45

1、创建解决方案 MVCFilterDemo:1)MVCFilterDemo:空的MVC项目2)MVCFilter:C#类库项目

asp.net mvc 过滤器ActionFilter

2、MVCFilter:需要引用下面两个dll1)System.掳姗浚瑙Web :直接右键添加引用,找到程序集里面的System.Web即可2)System.Web.Mvc:此项需要添加引吹涡皋陕用 -> 浏览 -> 找到创建MVCFilterDemo自动生成的目录:packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45 下面的dll

asp.net mvc 过滤器ActionFilter

3、在MVCFilter项目中创建类MVCActionFilter,并引用using System.Diagnostics;using System.Web;using S烤恤鹇灭ystem.Web.Mvc;同时,继承ActionFilterAttribute,并 override 其四个虚方法

asp.net mvc 过滤器ActionFilter

4、OnActionExecuting 方法测试代码如下:在进入Action,开始执行内部代码之前,由MVC框架自动执行

asp.net mvc 过滤器ActionFilter

5、OnActionExecuted 方法测试代码如下:在进入Action 执行完代码,且在return之前,由MVC框架自动执行

asp.net mvc 过滤器ActionFilter

6、OnResultExecuting方法测试代码如下:在执行Action return 之前,由MVC框架自动调用

asp.net mvc 过滤器ActionFilter

7、OnResultExecuted 方法测试代码如下:在执行Action结果,结束Action之前,由MVC框架自动调用(在此处修改Controller中的变量,包括Session,不会输出到界面,相当于不会真的改变其值)

asp.net mvc 过滤器ActionFilter

8、在MVCFilterDemo项目中创建HomeController:1)添加项目MVCFilter的引用2)在Index Action中书写测试代码如下

asp.net mvc 过滤器ActionFilter

9、在Index View页面的测试代码如下

asp.net mvc 过滤器ActionFilter

10、执行结果如下:

asp.net mvc 过滤器ActionFilter
asp.net mvc 过滤器ActionFilter
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢