Присвоение списка значений свойству пользовательского элемента управления - PullRequest
1 голос
/ 13 июля 2009

У меня есть пользовательский элемент управления кнопки, для которого я создал свойство 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 голосов
/ 13 июля 2009

Я думаю, что вы должны обрабатывать свое состояние кнопки и общую логику действий на уровне составного элемента управления (который передается с более высокого уровня, такого как страница, на которой находится элемент управления, или часть вашего сайта, которой принадлежит страница). 1001 *

0 голосов
/ 13 июля 2009

(повторный синтаксис - нет, не то, что я знаю)

Даже если они не являются перечислениями - это побитовые флаги? Вы можете иметь свойство int и использовать UserRight.Create | UserRight.Modify, а установщик свойств будет разбивать биты на флаги компонентов.

Но с перечислением [Flags] все было бы намного проще. Мне было бы интересно узнать, каковы эти причины ... если бы вы использовали объект / строку, тогда хорошо - но с int ... Интересно, есть ли уловка, которая может позволить вам использовать ее "легко "путь.

...