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)
{
//写获取数据的代码
}