菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

MVC 过滤器

4926人阅读 2021/4/2 17:21 总访问:974972 评论:0 收藏:0 手机
分类: .net mvc

过滤器是一种面向切面的编程思想
可以再不影响原来的逻辑基础上增加自己的逻辑

IActionFilter:        action执行之前与执行之后执行的

IAuthorizationFilter:针对性用来处理权限相关过滤器

IExceptionFilter:   发现异常的时候会执行

IResultFilter:        action返回值的阶段执行,时间节点比较晚,可以把返回值进行一些控制,相对来说使用比较少。

全局过滤器

FilterConfig注入的过滤器就是全局的


过滤器限制控制器级别,过滤器需要是一个特性类(FilterAttribute)

使用时需要引入命名空间,设置过后,过滤器则只对本控制器中的视图产生限制



放在视图上也是同样的道理(只对本视图产生限制


IActionFilter过滤器(执行前执行后)

  1.     public class MyActionFilterFilterAttributeIActionFilter
  2.     {
  3.         public void OnActionExecuted(ActionExecutedContext filterContext)
  4.         {
  5.             //action执行之后运行此部分
  6.         }
  7.         public void OnActionExecuting(ActionExecutingContext filterContext)
  8.         {
  9.              //action执行之前运行此部分
  10.         }
  11.     }

IAuthorizationFilter过滤器(执行前)

  1. public class MyActionFilter : FilterAttributeIAuthorizationFilter 
  2.         {
  3.             public void OnAuthorization(AuthorizationContext filterContext)
  4.             {
  5.                //运行之前会执行此部分(一般用来处理相关权限)
  6.             }
  7.         }

IExceptionfilter过滤器(异常处理)

  1.  public class MyActionFilter : FilterAttributeIExceptionFilter
  2.         {
  3.             public void OnException(ExceptionContext filterContext)
  4.             {
  5.                //出现异常将会运行到此部分
  6.                
  7.                //异常信息
  8.                string message = filterContext.Exception.Message;
  9.                
  10.                //设置异常是否处理,true将不会输出错误信息(防止异常被用户看到)
  11.                 filterContext.ExceptionHandled = true;
  12.             }
  13.         }

IResultFilter过滤器(使用较少)用于从操作成功返回操作结果的执行的筛选器。

  1.   public class MyActionFilter : FilterAttributeIResultFilter
  2.     {
  3.         //在操作结果执行之后调用。
  4.         public void OnResultExecuted(ResultExecutedContext filterContext)
  5.         {
  6.         }
  7.         //在操作结果执行之前调用。
  8.         public void OnResultExecuting(ResultExecutingContext filterContext)
  9.         {
  10.         }
  11.     }

                                                                            

评价

.net MVC分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

三分钟快速复习MVC知识

读这篇文章不意味着你一定要去并且能搞定MVC面试。这篇文章的目的是在面试之前让你快速复习MVC知识。什么是MVC (模型 视图 ...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

C MVC RedirectToAction跳转时候传递参数,Action之间传值

MVC Action之间传值,页面跳转传值方法一:路由传值很简单直接使用 RedirectToAction(string actionName, string controller...

.net MVC 登录后跳回原来的页面

把当前连接传递到登录界面,然后登录后根据那个连接跳转回来就好跳转前可以使用Request.Url获取当前页面的地址:<ahref=...

在idea下搭建Spring Boot+Spring MVC+thymeleaf

今天大兄弟来讲一下在idea下,使用Spring Boot ,搭建Spring MVC+thymeleaf。在Java开发领域,Spring Boot算得上是一颗耀眼...

MVC过滤器

过滤器:过滤器(filter):是基于AOP(面向接口编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑。本质:...

asp.net MVC @helper用法

@helper可以在视图定义一个公共块,这样就可以实现代码的重复调用下面来一个很简单的例子:就是输出一个list的数据。实际项...

扩展MVC实现model直接传递匿名对象

如果我们直接通过model传递匿名对象,是不行滴后台通过model传递一个匿名对象publicActionResultIndex() { returnView(ne...

ASP.NET MVC从请求到响应发生了什么

先就贴一张图哦在来一张

.net core MVC中其他类库获取appsettings.json

appsetting:{ "ApplicationSettings":{ "DalAssemblyName":"INGEFDal" }, ... }c#:pu...

.NET MVC 使用百度编辑器详细教程:(1)配置编辑器

一、什么是百度编辑器百度编辑器UEditor是由百度web前端研发部开发一款应用于网站的编辑器,具有轻量,可定制,注重用户体...

Asp.net MVC 利用(aspose+pdfobject.js) 实现在线预览office文档

Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,通过它,我们可以有计划地操纵一些商业中最流行的文件格式...

asp.net MVC 下载文件

方法1:publicvoidDownLoad() { stringfilePath="文件路径"; using(FileStreamfs=newFileStream(filePath,Fil...

ASP.NET MVC + WebUploader+BootStrap实现文件上传进度条显示

引入需要的资源文件:<scriptsrc="~/Content/jquery-1.9.1.min.js"></script> <linkhref="...

ASP.NET MVC + WebUploader实现文件上传二:使用中的一些问题

如何把文件选择按钮换成自己的因为WebUploader设置关联的上传id会有他的样式,有时候想换成自己的开始想的是添加自己的文件...