asp.net-mvc – ASP.NET MVC – 在ActionFilter中访问控制器属性

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC – 在ActionFilter中访问控制器属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Unity将一个新类实例化到控制器构造函数中,并将注入的类保存在控制器内的属性中.然后我想使用一个ActionFilter来查看注入的类是否具有我在其构造函数内验证的一些属性.那么有没有办法使用ActionFilter来验证注入类的属性

提前致谢

解决方法

这样的事情?
  1. public class ValidateActionFilterAttribute : ActionFilterAttribute
  2. {
  3. public override void OnActionExecuting(ActionExecutingContext filterContext)
  4. {
  5. var yourController = filterContext.Controller as YourController;
  6.  
  7. if (yourController == null)
  8. {
  9. throw new InvalidOperationException("It is not YourController !!!");
  10. }
  11.  
  12. // It is YourController - validate here
  13. var yourProperty = yourController.YourProperty;
  14.  
  15. // UPDATED ***************************
  16. // or test whether controller has property
  17.  
  18. var property = filterContext.Controller.GetType().GetProperty("YourProperty");
  19.  
  20. if(property == null)
  21. {
  22. throw new InvalidOperationException("There is no YourProperty !!!");
  23. }
  24. }
  25. }

猜你在找的asp.Net相关文章