2011-02-02 4 views
1

Я в настоящее время разрабатывает серверный элемент управления, который должен быть выполнен с помощью списка пар ключ/значение, например:Могу ли я использовать тип словаря как свойство (persistet) настраиваемого серверного элемента управления?

<MyControls:ContentRenderer ID="ContentRenderer1" runat="server"> 
    <MyControls:Placeholders> 
     <MyControls:Placeholder key="ident1">Some text which replaces {ident1}</MyControls:Placeholder> 
     <MyControls:Placeholder key="ident2">Some text which replaces {ident2}</MyControls:Placeholder> 
    </MyControls:Placeholders> 
<MyControls:ContentRenderer /> 

Я хочу, чтобы это свойство, чтобы быть словарем, чтобы я мог быстро получить шаблонные отображения по их идентификатор. Я знаю, как создать свойство, которое сохраняется с вышеуказанной разметкой, используя класс List < T>, но я хотел бы иметь структуру данных, похожую на хэш-карту.

Я прочитал много материала в msdn, но до сих пор не знаю, что делать, если вы хотите полностью контролировать то, как обрабатывается ваша контрольная разметка.

ответ

0

Я не думаю, что словари поддерживаются таким образом. Однако, как это делается, вместо использования списка используйте собственный класс на основе списка, который также сохраняет сопоставление словаря ключа/объекта.

HTH.

+0

Итак, в сущности, вы предлагаете хранить каждый элемент в двух разных объектах? Я вижу, как это работает, но это действительно уродливое решение. – binford

+0

Да, это уродливое решение, но это единственный, который вы получили, если хотите использовать формат словаря. Вам не обязательно сохранять контроль дважды; вы также можете сохранить имя в качестве ключа, а затем индекс в списке как значение, так что это не будет хранить один и тот же элемент управления дважды. –

 Смежные вопросы

  • Нет связанных вопросов^_^