从SelectListItem中选择不同的值

时间:2015-12-02 19:16:11

标签: linq asp.net-mvc-4

我有一个List<SelectListItem>我是从包含视频的列表构建的,所以我可以在视图中创建一个下拉列表,但我只想选择唯一值,我试图选择不同的颜色:

List<SelectListItem> items = new List<SelectListItem>();
        foreach (var video in VidModel)
        {
            items.Add(new SelectListItem() { Text = video.Name, Value = video.showName, Selected = false });
        }          
     ViewBag.showName = items.Distinct();

但是这会返回所有值

1 个答案:

答案 0 :(得分:2)

您可以对商品进行group by

var uniqueItems= items.GroupBy(s=>s.Value,i=> i, (k ,item) => new SelectListItem
{
    Text = item.First().Text,
    Value=k,
    Selected = item.First().Selected

}).ToList();

我不确定你要做什么。但我认为,不应该在SelectListItem集合上执行此操作,而应该使用用于构建SelectListItem集合(VidModel?)的数据。