2010-11-10 37 views
-1

我需要轉換ToSelectList項目(字符串或整數)MVC的SelectList SelectValues

列表的一個推廣,我發現這一點:

 public static SelectList ToSelectList<T>(this IEnumerable<T> collection, 
          string dataValueField, string dataTextField, string selectedValue) 
    { 
     return new SelectList(collection, dataValueField, dataTextField, selectedValue); 
    } 

但這並不處理多個選擇的值。 我試過這個:

 public static SelectList ToSelectList<T>(this IEnumerable<T> collection, 
        string dataValueField, string dataTextField, IEnumerable<T> selectedValues) 
    { 
     var list = new SelectList(collection, dataValueField, dataTextField, selectedValues); 
     return list; 
    } 

但它不起作用。 請幫忙!

+0

12個問題;儘管得到了許多有用的,經常精心設計的答案,但仍然沒有一個被接受的答案或投票。 – 2010-11-10 20:17:16

回答

0

我沒有測試過,但試試這個:現在

public static SelectList ToSelectList<T>(
    this IEnumerable<T>  collection, 
     string    dataValueField, 
     string    dataTextField,   
     IEnumerable<string> selectedValues) 
{ 
    var list = new SelectList(collection, dataValueField, dataTextField); 
    foreach (var item in list.Items) 
    { 
     if (selectedValues.Contains(item.Value) 
     { 
      item.Selected = true; 
     } 
    } 
    return list; 
}