2016-09-19 6 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を追加すると、Listに格納されているすべての値を受け入れることはできませんか?リストのタブ項目に格納されている値を取りたいだけです。私のリストを意味しますには3つのプロパティ、名前/アドレス、3番目のプロパティがあります。保存されているアイテムは7valuesです –

+0

この場合、データバインドやdpd.Items.AddRangeを使用できます(Person.Select(p => p。{PropertyName} ).ToArray()){PropertyName} =リストビューに表示するプロパティ。これはまた、あなたが望むならあなたのリストを並べ替える能力を与える:dpd.Items.AddRange(Person = p。> p。{PropertyName})。OrderBy(p = p。{PropertyName})。ToArray() ) –

答えて

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

てみ使用この

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(); 
関連する問題