将值列表分配给用户控件属性

时间:2009-07-13 11:57:58

标签: c# asp.net list properties

我有一个按钮用户控件,我在其上创建了一个属性UserRights,我用它来定义用户在启用按钮之前必须具有的权限。这些权限被定义为名为UserRight的类中的公共常量(出于某些特殊代码设计原因,我不使用Enum)。 那么,我想要达成的目标是:

<hmk:Button Id="BtnSave" UserRights='<%#UserRight.Create, UserRight.Modify%>' ... runat="server" />

现在,UserRights属性实现为:

public List<int> UserRights {get; set; }

因此,我需要这样做:

<hmk:Button Id="BtnSave" UserRights='<%#new List<int> {UserRight.Create, UserRight.Modify }%>' ... runat="server" />

是否有可能实现我想要的,如第一个例子中所述?

祝你好运 亨利克

2 个答案:

答案 0 :(得分:0)

(重新提出的语法 - 不,不是我所知道的)

即使它们不是枚举 - 它们是否是按位标志?您可以拥有int属性并使用UserRight.Create | UserRight.Modify,并让属性设置器将这些位拆分为组件标志。

但使用[Flags]枚举会更容易。我会对这些原因感兴趣...如果您使用的是对象/字符串,那么很好 - 但是使用int ...我想知道是否有一个技巧可以让你使用它“轻松”的方式。

答案 1 :(得分:0)

我认为你应该在复合控制级别处理你的按钮状态和整体动作逻辑(它从更高级别传递,例如控件所在的页面,或者页面所属的网站部分)。 / p>