2017-09-04 55 views
0

我有一個場景,我想在下拉列表中添加重複鍵。下面是exsiting代碼 -在Asp.net下拉列表中添加重複鍵

currentVersionDDL.DataSource = DDLList.ToList(); 
currentVersionDDL.DataTextField = "Value"; 
currentVersionDDL.DataValueField = "Key"; 

其中DDLList是字典

Dictionary<int, string> DDLList = new Dictionary<int, string>(); 

按照新的要求,我將不得不在下拉菜單中添加重複的關鍵,有沒有辦法做到這一點沒有太多改變現有碼。請建議。我試着用Lookup但它不是在裝修。

+0

你爲什麼想要這只是出於興趣? – Milney

回答

1

您必須更改數據源類型要做到這一點,因爲Dictionary不允許重複的鍵值由一個明顯的原因,你不能確定哪些是相關聯的密鑰值。一個快速和骯髒的解決方案:

List<KeyValuePair<int, string>> items = DDLList.AsEnumerable().ToList(); 
items.Add(new KeyValuePair<int, string>(3, "Name 1"); 
items.Add(new KeyValuePair<int, string>(3, "Name 1"); 
currentVersionDDL.DataSource = items; 
currentVersionDDL.DataTextField = "Value"; 
currentVersionDDL.DataValueField = "Key"; 

字典不允許重複的鍵,但列表做。有了這個簡單的解決方案,您甚至不必更改DropDown組件綁定屬性。