【问题标题】:MVC: access attribute value in actionMVC:访问属性值在行动
【发布时间】:2016-01-13 12:48:30
【问题描述】:

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();
    }

有没有办法从动作本身的阳离子过滤器中获取属性?

提前致谢。

【问题讨论】:

    标签: asp.net-mvc-4 c#-4.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();
        }
    

    话虽如此,这不是一个好主意。反思很慢。非常慢。你会看到性能问题。如果您确实需要这样做,那么最好在应用程序初始化期间找到一种方法来执行此操作,此时性能不是那么重要。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      相关资源
      最近更新 更多