2014-02-07 105 views

回答

2

如果你想使用GUID作爲值,你可以使用

dictionary.Select(x => new SelectListItem { Text = x.Value, Value = x.Key }) 
2

那麼你可以使用

dictionary.Values().Select(x => new SelectedListItem { Text = x }) 

要知道,它可能不是一個有用的順序:Dictionary<,>本質上是無序的(或者更確切地說,該命令可能會改變,不應該依賴)。

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(); 
0

使用LINQ,你可以做這樣的事情,

var theSelectList = from dictItem in dict 
        select new SelectListItem() 
        { 
         Text = dictItem.Value, 
         Value = dictItem.Key.ToString() 
        }; 
相關問題