Attribute
创建MyFilter1Attribute并继承ActionFilterAttribute。重新OnActionExecuting、OnActionExecuted这二个方法。一个是运行之前执行该方法一个是之后之前该方法。
public class MyFilter1Attribute : ActionFilterAttribute { //该方法会在action方法执行之前调用 public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.HttpContext.Response.Write("我是OnActionExecuting,我在action方法调用钱执行<br/>"); base.OnActionExecuting(filterContext); //filterContext.Result = new RedirectResult("/Log/qx"); //return; } //该方法会在action方法执行之后调用 public override void OnActionExecuted(ActionExecutedContext filterContext) { filterContext.HttpContext.Response.Write("我是OnActionExecuted,我在action方法调用后执行<br/>"); base.OnActionExecuted(filterContext); } }
使用方法:1.MyFilter1为类的名称,Attribute可以省略不写。
[MyFilter1] public void FilterTest() { Response.Write("我是action方法,在这里执行了~~</br>"); }
2.使用全局变量。在App_Start文件夹下的FilterConfig.cs添加全局授权过滤器
public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); //添加全局授权过滤器 filters.Add(new MyFilter1Attribute()); }