- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Filter文字
Asp.Net MVC3 简单入门第一季()Asp.Net MVC3 Filter的一些用法。你会了解和学习到全局Fileter,Action Filter等常用用法。
第一节:Filter知识储备
项目大一点总会有相关的AOP面向切面的组件,而MVC(特指:Asp。Net MVC,以下皆同)项目中呢Action在执行前或者执行后我们想做一些特殊的操作(比如身份验证,日志,异常,行为截取等),而不想让MVC开发人员去关心和写这部分重复的代码,那我们可以通过AOP截取实现,而在MVC项目中我们就可以直接使用它提供的Filter的特性帮我们解决,不用自己实现复杂的AOP了。
Asp。Net MVC提供了以下几种默认的Filter:
Filter Type 实现接口 执行时间 Default Implementation Authorization filter IAuthorizationFilter 在所有Filter和Action执行之前执行 AuthorizeAttribute Action filter IActionFilter 分别在Action执行之前和之后执行。 ActionFilterAttribute Result filter IResultFilter 分别在Action Result执行之后和之前 ResultFilterAttribute Exception filter IExceptionFilter 只有在filter,
或者 action method, 或者 action result 抛出一个异常时候执行
HandleErrorAttribute 大家注意一点,ActionFilterAttribute默认实现了IActionFilter和IResultFilter。而ActionFilterAttribute是一个Abstract的类型,所以不能直接使用,因为它不能实例化,所以我们想使用它必须继承一下它然后才能使用,下图所示的是ActionFilterAttribute的实现:
所以我们在实现了ActionFilterAttribute,然后就可以直接重写一下父类的方法如下:
public virtual void OnActionExecuted(ActionExecutedContext filterContext);//在Action执行之后执行
public virtual void OnActionExecuting(ActionExecutingContext filterContext); //在Action执行前执行
public virtual void OnResultExecuted(ResultExecutedContext filterContext);//在Result执行之后
public virtual void OnResultExecuting(ResultExecutingContext filterContext); //在Result执行之前 然后我们就可以直接在Action、Result执行之前之后分别做一些操作。
第二节:Action Filter实战
光说不练假把式,那现在我们就直接做一个例子来实际演示一下。
首先我们添加一个普通的类,直接上代码吧:
public class DemoActionAttributeFilter : ActionFilterAttribute
{
public string Message { get; set; }
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//在页面上输出一段文字表示在Action执行完后执行了此段代码
filterContext.HttpContext.Response.Write(@br /After Action Excute + \t + Message);
base.OnActionExecuted(filterContext);
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Write(@br /Before Action Excute + \t + Message);
base.OnActionExecuting
您可能关注的文档
- 高分子化合物B3.ppt
- 高分子药物.ppt
- 高分子简称和全名.doc
- 高分子科学作业.ppt
- 高效的学术墙报展示策略_EN.ppt
- 高考英语高分难点词汇400个.doc
- 高考英语阅读理解高频词汇.doc
- 高考高频难词.doc
- 高英第一课练习答案.doc
- 高频率场景.doc
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)