asp.net core mvc 自定义特性过滤器

1.定义:

 public class MyActionFilter :Attribute, IActionFilter
    {
        void IActionFilter.OnActionExecuted(ActionExecutedContext context)
        {         
        }

        void IActionFilter.OnActionExecuting(ActionExecutingContext context)
        {
             //写业务逻辑处理,【例子:只有uid=2,才能获取数据,否则跳转到其他页面(404)】
            var r = context.HttpContext.Request.Query.TryGetValue("uid", out StringValues value);
            if (r && value.First() == "2")
            {
            }
            else
            {
                context.HttpContext.Response.Redirect("/Error/404");
            }
        }
    }

2.使用:

        [MyActionFilter]
        public ActionResult List(int? page, int? uid, int type = 2)
        {

               //写获取数据的代码

        }

猜你喜欢

转载自blog.csdn.net/ycx_520/article/details/89204297