背景:我有一個ASP.NET MVC視圖頁面,在View Model中有一個MultiSelectList。我想用該MultiSelectList對象中的SelectedValues列表填充標籤。該列表存儲在MultiSelectList內用型IDName的:IEnumerable和字符串數組 - 找到匹配值
public class IDName {
public int ID {get; set;}
public string Name {get; set;}
}
所以MultiSelectList.Items是包含IDName的列表一個IEnumerable。我可以對這個列表做一個foreach,並抓住.Name來獲取每個條目的名稱。但是,我只希望這樣做,如果該ID是MultiSelectList.SelectedItems,這似乎是一個字符串[],看起來像:
["1", "3", "4"]
所以,我想只得到時IDName.Name IDName。 ID在SelectedItems列表中。
我對MVC和C#都很新穎,所以我不確定最好的方式來做到這一點。有什麼建議麼?
更新#2:
好的,我正在密集。這工作:
list.Items
.Cast<IDName>()
.Where(x => list.SelectedValues.Cast<string>().Contains(x.ID.ToString()))
SelectedValues實際上是一個包含字符串[]的IEnumerable。
非常接近!看看我的更新的工作解決方案(這主要是不同的,因爲我的第一篇文章中有一個細節錯誤)。謝謝! – user101306 2009-05-26 00:30:16