2010-05-01 59 views
3

我在C#中使用ASP.NET中的下拉列表。ASp.NET下拉列表和字典

我想將字典綁定到下拉列表。

我們怎樣才能爲下拉菜單指定「文本」(字典的關鍵字爲下拉文本)和「值」(值爲值)?

你能幫忙嗎?

注意:有一個約束,不應該爲此目的引入一個類。這就是爲什麼我正在嘗試使用字典。

感謝

Lijo

回答

6

設置你的下拉菜單使用KeyValue,像這樣:

dropdown.DataValueField = "Key"; 
dropdown.DataTextField= "Value"; 
dropdown.DataSource = myDictionary; 
dropdown.DataBind(); 

因爲你實際上綁定KeyValuePair到每個項目,屬性要訪問是KeyValue

1
Dictionary<string, string> myDictionary = new Dictionary<string, string>(); 
myDictionary.Add("1", "Item1"); 
myDictionary.Add("2", "Item2"); 
myDictionary.Add("3", "Item3"); 

DropDownId.DataSource = myDictionary; 
DropDownId.DataTextField = "Key"; 
DropDownId.DataValueField = "Value"; 
DropDownId.DataBind(); 

我還會補充一點,如果您不能爲此添加新的List<myClass>那麼爲什麼您允許使用字典?我們還可以在沒有數據源的情況下將項目添加到下拉列表中:

DropDownID.Items.Add(new ListItem("Item4","4"));