ASP.NET MVC的Action方法怎么用

发布时间:2021-07-15 09:43:39 作者:chen
来源:亿速云 阅读:196

本篇内容介绍了“ASP.NET MVC的Action方法怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

有时候你想在调用Action方法之前或者Action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器。Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中。

一些可能用到Action过滤器的地方有:
◆日志,异常处理
◆身份验证和授权 - 限制用户的访问
◆输出缓存 - 保存一个Action的结果
◆网络爬虫的过滤
◆本地化
◆动态Action - 将一个Action注入到控制器中
◆ASP.NET MVC为我们提供了下面的几个Filter接口:


IActionFilter
IAuthorizationFilter
IExceptionFilter
IResultFilter

要实现一个Filter,我们需要继承自FilterAttribute类同时实现上面的一个或几个接口:

public class MyFilter : FilterAttribute, IActionFilter, IResultFilter{  }

其中OnActionExecuting在执行Action方法之前会被调用,OnActionExecuted会在Action方法执行后调用。注意他们的参数分别是ActionExecutingContext和ActionExecutedContext。

ActionExecutedContext类包含一个 Canceled的属性,允许你取消当前的Action(怎么原来在P3中是在ActionExecutingContext的Canceled属性在 P5中没有了呢?神奇.那么在OnActionExecuting的时候怎么取消一个Action呢?)。

FilterExcutedContext 类包含一个Exception属性和一个ExceptionHandled属性。如果Exception属性为null,则没有异常在action stack中,表明Action方法运行并没有发生错误。反之则为出现异常。如果将ExceptionHandled属性设置为true则表明在这个 Filter中已经处理了异常。

他们分别在Action返回结果(例如return View();)之前和之后执行。和IActionFilter差不多就不多说了。

IAuthorizationFilter是一个用于身份验证的Filter。只提供了一个void OnAuthorization(AuthorizationContext filterContext)方法。

IExceptionFilter会在出现异常的时候调用,也是只 提供一个void OnException(ExceptionContext filterContext)的方法;

“ASP.NET MVC的Action方法怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. ASP.NET 4.5 MVC实战教程-最全
  2. ASP.NET MVC路由(五)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp.net asp.net mvc

上一篇:ASP.NET MVC中如何使用UpdataModel方法

下一篇:在Linux下如何确定网卡所使用驱动程序

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》