如何将IDictionary<Guid,string>
转换为IEnumerable<SelectListItem>
?
我想将字符串用作SelectListItem
。
答案 0 :(得分:2)
你可以只使用
dictionary.Values().Select(x => new SelectedListItem { Text = x })
请注意,它可能不是一个有用的顺序:Dictionary<,>
本质上是无序的(或者更确切地说,顺序可能会改变,不应该被依赖)。
答案 1 :(得分:2)
如果您想使用guid作为值,可以使用
dictionary.Select(x => new SelectListItem { Text = x.Value, Value = x.Key })
答案 2 :(得分:0)
这样的事情应该做你想做的事情:
var selectList = dictionary
.OrderBy(kvp => kvp.Value) // Order the Select List by the dictionary value
.Select(kvp => new SelectListItem
{
Selected = kvp.Key == model.SelectedGuid, // optional but would allow you to maintain the selection when re-displaying the view
Text = kvp.Value,
Value = kvp.Key
})
.ToList();
答案 3 :(得分:0)
使用LINQ,您可以执行类似的操作,
var theSelectList = from dictItem in dict
select new SelectListItem()
{
Text = dictItem.Value,
Value = dictItem.Key.ToString()
};