2008-12-04 4 views
0

У меня проблема, и я хотел бы узнать правильный способ решить эту проблему.Лучший дизайн для использования RadioButtonList

У меня есть Objeckt Data

class LinkHolder { 
    public string Text; 
    public string Link; 
} 

Я хотел бы представить пользователю список RadioButton, который использует значение LinkHolder.Text как описательный текст. Тогда на постбэка, я хотел бы сделать

Server.Transfer(LinkHolder.Link) 

на соответствующую ссылку.

Я не уверен, что является лучшим/самым правильным способом для этого. Любые намеки будут оценены.

ответ

1

Вам необходимо установить DataTextField и DataValueField в свой RadioButtonList. Затем должны появиться правильные значения.

Вы можете попробовать отодвинуть выбранный элемент в LinkHolder.

0

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

class LinkHolder { 
    public string Text { get; set;} 
    public string Link { get; set;} 
} 

Свяжите свой RadioButtonList к f.ex. List<LinkHolder>

Зачем вам использовать радиобунт-лист, а не просто перечислять свои ссылки как гиперссылки, а не использовать Server.Transfer?

0

Класс LinkHolder был просто примером короткой формы. У меня есть аксессоры в реальном классе. Радиоклубы были выбором дизайна, поэтому я идем с ними.

В моих тестах он будет печатать имя класса, а не текстовое свойство, когда я использовал List<LinkHolder> в качестве источника данных. Я не знаю, как/если вы можете указать свойство, которое должен печатать RadioButtonList.

Также я понимаю, что если я использую List<LinkHolder> в качестве источника данных, я не получу объект LinkHolder, когда я попрошу SelectedItem. Вместо этого я получу ListItem.

Любое хорошее обходное решение для этого?

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