有时,我们需要对所有aciton在执行前/后做一些(预)处理,如何实现呢?
1、定义一个action筛选类。继承至System.Web.Mvc.IActionFilter
2、在筛选类中实现方法:OnActionExecuted、OnActionExecuting
3、在Global.asax.cs中去添加自定义的筛选类
protected override void Application_Start(object sender, EventArgs e)
{
RegisterGlobalFilters(System.Web.Mvc.GlobalFilters.Filters);
base.Application_Start(sender, e);
}
public static void RegisterGlobalFilters(System.Web.Mvc.GlobalFilterCollection filters)
{
filters.Add(new System.Web.Mvc.HandleErrorAttribute());
filters.Add(new Common.Mvc.ValidateUrAttributel());//添加自定义筛选类
}
后来在网上找到的写得比较完整,线条清晰的文章
一些应用场景