2012-03-12 22 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 >> to DropDownList

+0

はよくあなたはWPFs結合は、大きさのカップルASP.NETsより** **優れていることを知っていますか? DataSourceとしてバインドする前にデータを変換する必要があります。 – Carsten

+0

asp.netのドロップダウンリストに文字列辞書をバインドしたいですか? – JayOnDotNet

答えて

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" }) 
関連する問題