说我有一个类似的枚举:
public enum Permissions
{
One,
Two,
Three
}
如何创建可在控制器或操作上使用的自定义过滤器,如下所示:
[PermissionCheck(Permissions.One | Permissions.Two)]
public class MyController : Controller
{
...
}
这可能吗?
答案 0 :(得分:2)
public class PermissionCheckAttribute: ActionFilterAttribute
{
public Permissions Permissions {get;set;}
public PermissionCheck(Permissions permissions)
{
Permissions = permissions;
}
}
您也可以尝试使用命名参数:
[PermissionsCheck(Permissions = Permissions.None)]
如果您遇到的问题无法使用多个枚举值,那么您就不会在枚举上使用[Flags]
属性。 Flags