ASP.NET MVC动作过滤器
ASP.NET MVC中包含以下4种不同类型的Action Filter:
类型 | 使用时机 | 接口 | 实现方法 |
---|---|---|---|
授权过滤器(Authorization Filter) | 在执行任何Filter或Action之前被执行,用于进行身份验证 | IAuthorizationFilter | AuthorizeAttribute |
动作过滤器(Action Filter) | 在执行Action之前或之后被执行,用于执行的Action需要生成记录或者缓存数据时 | IAcationFilter | ActionFilterAttribute |
结果过滤器(Result Filter) | 在执行任何ActionResult之前或之后被执行。在View被显示到浏览器之前可以执行一些逻辑运算,或修改ViewResult的输出结果 | IResultFilter | ActionFilterAttribute |
异常过滤器(Exception Filter) | 在Action执行之前或之后或者Result执行之前或之后被执行。在执行中发生异常时,可以使用此Filter指向其他页面来显示错误信息 | IExceptionFilter | IExceptionFilter |
这4种不同类型的动作过滤器的执行顺序:
ValidateInput属性
[HttpPost, ValidateInput(false)] public ActionResult Edit(int id, FormCollection formValues) { return View(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步