2009-12-29 4 views
1

У меня естьсвязывание общего списка с раскрывающимся

public class ListA 
{ 

    private string code; 
    private string name; 

    public string Code { get { return code; } set { code = value; } } 
    public string Name { get { return name; } set { name = value; } } 

} 

List<ListA> lst = new List<ListA>(); 

    public List<ListA> getList() 
    { 
     lst.Add(new ListA { Code = "ABC", Name = "Smith" }); 
     lst.Add(new ListA { Code = "XYZ", Name = "Abbey" }); 

     return lst; 
    } 

и в DropDownList Я хочу ABC: Смит заселена.

ddlList.DataTextField = "Name"; 

только заполняет название.

Я хочу заполнить как имя, так и код. Как это сделать. Пожалуйста помоги.

ответ

3

Кажется, что DataTextField может использоваться только для отображения одного свойства. Вы можете либо создать новое свойство на lišta вроде следующего:

public string Display { get { return Code + ":" + Name; } } 

или удалить DataTextField вообще и использовать

public override string ToString() { return Code + ":" + Name; } 

или создать новый класс, который наследует от lišta и делает один из вещей, которые я упомянутого выше для правильного отображения.

+0

ниже раскрывающегося списка У меня есть asp: label, в котором я хочу заполнить только выбранное имя из раскрывающегося списка, а не кода. Как это сделать? Я могу захватить выбранное значение, но здесь я хочу просто имя, а не код. Спасибо – user240266

+0

С любым из моих решений вы все равно можете установить DataValueField для Name. –

1

Добавить свойство NameAndCode в класс ListA, который возвращает Code + ":" + Name. Затем сделайте так, чтобы ваше значение DataTextField.

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