2016-09-19 2 views
0

У меня есть выпадающий список, который должен принимать все значения из свойства Элементы, которые хранятся в List< Person>. Моя модель var принимает всю информацию из моего list.Выпадающий список в ASP.Net, как связать его с свойством списка

string text=File.ReadAllText(@"..."); 

List<Person> model = JsonConvert.DeserializeObject< List< Person>>(text) 

Мой выпадающий список код:

< asp:DropDownList runat="server" ID="dpdTags" > 

Так как я могу связать необходимые данные в раскрывающемся списке?

+0

dpdTags.Items.AddRange (модель); или если это не работает, dpdTags.Items.AddRang (model.ToArray()); –

+0

@ShannonHolsinger хорошо, если я добавлю в dpsTags переменную модель, не будут ли они просто принимать все значения, которые хранятся в списке? Я просто хочу взять значения, которые хранятся в закладке Элементы списка . Я имею в виду, что мой список имеет 3 свойства, имя/адрес, а третий - это элементы, где хранятся 7 значений –

+0

В этом случае вы можете привязать данные или использовать dpd.Items.AddRange (Person.Select (p => p. {PropertyName}) .ToArray()) где {PropertyName} = свойство, которое вы хотите показать в списке. Это также дает вам возможность сортировать ваш список, если хотите: dpd.Items.AddRange (Person.Select (p => p. {PropertyName}). OrderBy (p = p. {PropertyName}). ToArray()) –

ответ

1
dpdTags.DataSource = model; 
dpdTags.DataTextField = "PersonText"; 
dpdTags.DataValueField = "PersonValue"; 
dpdTags.DataBind(); 

Использование Try это

0

я думаю, что это полезно для вас

List<Person> people = GetDataFromSomewhere(); 
DropDownList ddl = new DropDownList(); 
ddl.DataTextField = "Name"; 
ddl.DataValueField = "Id"; 
ddl.DataSource = people; 
ddl.DataBind(); 
ddl.SelectedValue = (from p in people 
        where p.Selected == true 
        select p.Id).FirstOrDefault().ToString(); 
Смежные вопросы