Custom Action Filter ASP.NET MVC 4
这东西杀了我。 基本上,我拥有的是自定义ActionFilter(从ActionFilterAttribute继承并实现IActionFilter的类)。 看起来像这样
1 2 3 4 5 6 7 | public class ValidationFilterAttribute : ActionFilterAttribute, IActionFilter { public override void OnActionExecuting(HttpActionContext actionContext) { // do some stuff here } } |
这就是FilterConfig的样子
1 2 3 4 5 6 7 8 |
但是每当我开始项目时,都会有一个例外
给定的过滤器实例必须实现以下一个或多个过滤器接口:IAuthorizationFilter,IActionFilter,IResultFilter,IExceptionFilter。
但是显然
用
所以那么你将不得不重写
1 | OnActionExecuting(ActionExecutingContext filterContext) |
一切都会好起来的。
如您所见,
据我所知,您不需要
但是我不知道这是否是错误消息的原因。 您可以尝试删除它吗?
还要检查此:http://forums.asp.net/t/1835666.aspx
1 2 3 4 5 | [Serializable] public class RedirectingAction : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext context) { base.OnActionExecuting(context); } |
之后,在控制器中使用此属性,如下所示
1 2 | [RedirectingAction] public class HomeController : BaseController { } |
www.jkittraining.com的自定义操作过滤器示例
www.jkittraining.com/course/asp-net-mvc-training/