MVC SelectList SelectValues

时间:2010-11-10 08:26:54

标签: asp.net-mvc

我需要一个扩展来转换ToSelectList一个项目列表(字符串或整数)

我发现了这个:

        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;
    }

但它不起作用。 请帮忙!

1 个答案:

答案 0 :(得分: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;
}