我正在尝试做这样的事情:
[CustomAuthorize(Permissions = new[] { /*These are Enums */Permissions.CanChangeProducts.ToString(), Permissions.CanChangeNames.ToString()})]
public ActionResult MyMethod()
{
return View();
}
它给出错误:
错误5属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式[...]
我已经设法将资源字符串放入验证属性,但我无法将此枚举(字符串)数组放入授权属性...我该怎么做?任何帮助将不胜感激!
答案 0 :(得分:4)
enum.Value | enum.Value | enum.Value
flags
怎么样?
像这样:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum)]
修改顺便提一下,有一个非常有趣的答案:https://stackoverflow.com/a/270231/2524304