2012-03-12 131 views
2
var dict = new Dictionary<string,string>(); 
dict.Add("A","123"); 
dict.Add("B","456"); 
dict.Add("C","789"); 
dict.Add("D","000"); 
var list = new List<Dictionary<string,string>>(); //pretty much like a DataTable 
list.Add(dict); //more than one dict in the list 

//ddl is a dropdownlist 
ddl.DataSource = list 
ddl.DataTextField ="[A]"; 
ddl.DataValueField ="[C]"; 
ddl.DataBind(); 

對於WPF,我可以在上面做類似的綁定,但不能在asp.net中做。綁定列表<Dictionary <string,string >>到DropDownList

+0

以及你知道WPFs結合是一對夫婦的幅度比**更ASP.NETs **?在將它們綁定爲DataSource之前,您將必須轉換數據 - 抱歉。 – Carsten 2012-03-12 07:34:49

+0

你想綁定一個字符串字典到asp.net中的下拉列表。是嗎? – JayOnDotNet 2012-03-12 09:26:21

回答

6

你應該綁定你的字典,而不是列表。事情是這樣的:

var dict = new Dictionary<string,string>(); 
dict.Add("A","123"); 
... 

ddl.DataSource = dict 
ddl.DataTextField ="Key"; 
ddl.DataValueField ="Value"; 
ddl.DataBind(); 
3

這對我的偉大工程:

Dictionary<string, string> myDict = Dictionary<string, string>(); 
myDict.Add("myKey","My test value"); 

@Html.DropDownList("SomeDropDown", new SelectList(myDict, "key", "Value"), 
        "--- Select tomething ---", new { @class = "myHtmlClassName" }) 
相關問題