代码之家  ›  专栏  ›  技术社区  ›  ShaneKm

MVC选择列表选择值

  •  -1
  • ShaneKm  · 技术社区  · 14 年前

    我需要一个扩展来转换为selectList项列表(字符串或int)

    我发现这个:

            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 回复  |  直到 12 年前
        1
  •  0
  •   Cubicle    14 年前

    我还没有测试过,但试试这个:

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