MVC 4
我有一个用这样的动作过滤器修饰的动作:
[ViewPermission(PermissionType.GlobalUser)]
public ActionResult General()
{
var permissionType = // trying to access the value passed to the filter ie. PermissionType.GlobalUser value
return View();
}
有没有办法从动作本身的动作过滤器中获取属性?
提前致谢。
答案 0 :(得分:1)
所以快速回答是肯定的,你可以这样做:
[ViewPermission(PermissionType.GlobalUser)]
public ActionResult General()
{
var type = GetType(this);
var method = type.GetMethod("General");
var attribute(typeof(ViewPermission));
var permissionType = attribute.PermissionType;
return View();
}
据说,这不是一个好主意。做反射很慢。非常慢。你会看到性能问题。如果你真的需要这样做,那么最好在应用程序初始化期间找到一种方法来做到这一点,其中性能不是一个问题。
希望有所帮助。