2009-07-01 8 views
1

Im itérer une liste et d'obtenir la main sur 2 champs « Nom » et « Url »créer une source de données à partir d'une liste

je veux extraire ces champs et les utiliser pour créer une source de données

Je veux Databind ces à une dropdownList

DropDownList.DataTextField = "Name"; 
DropDownList.DataValueField = "Url"; 

comment puis-je créer une source de données basée sur cette liste? puis faites ce qui précède, puis le databind.

Répondre

4

En supposant que vous avez un élément de liste nommée MyListItem et MyListItem a deux propriétés Nom et URL, vous pouvez lier une liste de MyListItem comme ça:

List<MyListItem> dataSource = new List<MyListItem>(); 

MyListItem item1 = new MyListItem(); 
item1.Name = "Name 1"; 
item1.Url = "Url 1"; 
dataSource.Add(item1); 

MyListItem item2 = new MyListItem(); 
item2.Name = "Name 2"; 
item2.Url = "Url 2"; 
dataSource.Add(item2); 

dropDownList.DataSource = dataSource; 
dropDownList.DataTextField = "Name"; 
dropDownList.DataValueField = "Url"; 
dropDownList.DataBind(); 
4

Utilisez-vous .NET 3.5?

Ensuite, allez avec un type anonyme, comme:

var ds = from item in items 
select new { Name = item.Name, Url = item.Url }; 

dropdownlist.DataSource = ds; 
...etc 
0
Hashtable table = new Hashtable(); 
    table.Add("Key1", "val1"); //Build this table using the list you have. 

    DropDownList.DataSource = table; 
    DropDownList.DataMember = "Key"; 
    DropDownList.DataTextField = "Value"; 
    DropDownList.DataBind(); 
Questions connexes