MVC系列学习(十七)-过滤器
2024-09-07 13:00:41
本次学习的文件结构如下
1.过滤器的几种表示方式
1.1将过滤器 加到方法上,作用范围为该方法
1.2将过滤器加到当前类上,作用范围为该类的所有方法
1.3添加全局过滤器,作用范围为所有方法
2.Action过滤器
作用范围:执行在Action方法前后
2.1代码
public class MyActionFilterAttribute:ActionFilterAttribute
{
//在Action方法执行之前
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Write("执行Action方法前-OnActionExecuting<br/>");
base.OnActionExecuting(filterContext);
}
//在Action方法执行之后
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
filterContext.HttpContext.Response.Write("执行Action方法后-OnActionExecuted<br/>");
base.OnActionExecuted(filterContext);
}
}
2.2运用-获得路由信息及路由对象
2.3运用-检查被请求的方法 是否 加了某特性
查看运行结果
一张图来记忆:
原来是跳过了2,3,即跳过了Action方法的执行,但4,5,6照样执行
3.Result过滤器
作用范围:加载“视图”前后,因为有些Action方法不会生成视图,但以下方法照样会执行
代码如下:
public class MyResultFilterAttribute:ActionFilterAttribute
{
//加载“视图”前执行
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Write("加载视图前执行OnResultExecuting<br/>");
base.OnResultExecuting(filterContext);
}
//加载“视图”后执行
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
filterContext.HttpContext.Response.Write("加载视图后执行OnResultExecuted<br/>");
base.OnResultExecuted(filterContext);
}
}
查看运行结果
4.授权过滤器
作用范围:在Action方法前
5.异常处理过滤器
最新文章
- oracle学习笔记(二)
- 屌丝giser成长记-研一篇(上)
- HTML当中特殊字符的表示
- Java中用内存映射处理大文件
- c++标准库
- 流行趋势:25款很酷的长阴影效果 LOGO 设计
- LeetCode:Search Insert Position,Search for a Range (二分查找,lower_bound,upper_bound)
- db link的查看创建与删除
- hibernate 中id生成策略
- Sql Server 带参数的存储过程执行方法
- 我家用的网络IP地址给定,MAC绑定,我买了个无线路由器,请问怎么设定能让我的电脑和手机都能上网
- 查看当前支持的MySQL字符集的命令
- 不包含任何UserControl
- 配置Tomcat出现Unsupported major.minor version 51.0
- VUE2.0实现购物车和地址选配功能学习第一节(来源--慕课网河畔一角)
- Apache Hadoop配置Kerberos指南
- promise应用及原生实现promise模型
- jinja2
- node.js初识08
- vue-router-1-安装与基本使用
热门文章
- java 中序列化(Serializable)
- 关于datanode多磁盘存储策略
- NYOJ35 表达式求值
- Java AOP 获取HttpSevletRequest、HttpSevletResponse、HttpSession对象
- 3deye-demo-8-14-26-51
- mac下,redis的安装与配置
- 畅谈HTML开发
- 输入两个整数n 和m,从数列1,2,3.......n 中任意取几个数, 使其和等于m ,要求将当中全部的可能组合列出来
- [译]使用AssetBundle Manader
- java 内存模型 ——学习笔记